/**
Theme Name: Astra
Theme URI: https://wpastra.com/
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Version: 4.13.11
Requires at least: 5.3
WC requires at least: 3.0
WC tested up to: 11.1.0
Tested up to: 7.1
Requires PHP: 5.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra
Domain Path: /languages
Tags: custom-menu, custom-logo, entertainment, one-column, two-columns, left-sidebar, e-commerce, right-sidebar, custom-colors, editor-style, featured-images, full-width-template, microformats, post-formats, rtl-language-support, theme-options, threaded-comments, translation-ready, blog
AMP: true

Astra WordPress Theme, Copyright 2020 WPAstra.
Astra is distributed under the terms of the GNU GPL.

Astra is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of.
Nicolas Gallagher and Jonathan Neal https://necolas.github.com/normalize.css/

Astra icon font is based on IcoMoon-Free vector icon by Keyamoon.
IcoMoon-Free vector icon distributed under terms of CC BY 4.0 or GPL. (https://creativecommons.org/licenses/by/4.0/ or https://www.gnu.org/licenses/gpl.html)
Source: http://keyamoon.com/

Flexibility is a JavaScript polyfill for Flexbox By Jonathan Neal, 10up. (https://github.com/jonathantneal/flexibility)
Licensed under MIT ( https://github.com/jonathantneal/flexibility/blob/master/LICENSE.md )

Screenshot image is a collage of actual sites created using the Astra WordPress Theme.

Icons used in the Screenshot image are all licensed under Creative Commons ( CC BY 4.0 ) License ( https://fontawesome.com/license/free )
https://fontawesome.com/v5.15/icons/store?style=solid
https://fontawesome.com/v5.15/icons/shopping-cart?style=solid
https://fontawesome.com/v5.15/icons/pen-square?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid
https://fontawesome.com/v5.15/icons/user-tie?style=solid

Illustrations used in the Screenshot images are all licensed under Creative Commons ( CC0 ) License ( https://gumroad.com/l/humaaans )
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/standing-24.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/sitting-2.png

Hand-drawn illustrations used are created by Brainstorm Force and released under Creative Commons ( CC0 ) License.
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/girl-with-image-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/boy-with-code-container.png
https://websitedemos.net/web-design-agency-08/wp-content/uploads/sites/796/2021/05/web-browser.png

The same site as screenshot can be imported from here https://websitedemos.net/web-design-agency-08/.

For more information, refer to this document on how to create a page like in the screenshot - https://wpastra.com/docs/replicating-the-screenshot/.

Astra default breadcrumb is based on Breadcrumb Trail by Justin Tadlock. (https://github.com/justintadlock/breadcrumb-trail)
Breadcrumb Trail is distributed under the terms of the GNU GPL v2 or later.

Astra local fonts feature is based on Webfonts Loader by WordPress Themes Team (WPTT). (https://github.com/WPTT/webfont-loader)
Licensed under MIT ( https://github.com/WPTT/webfont-loader/blob/master/LICENSE )

/* Note: The CSS files are loaded from assets/css/ folder. */
/*
 * iwj-shared/base.css: ALL structural CSS for the IWJ theme (TW 2252, rebuilt for TW 3202).
 *
 * 3.0 = the "Open" facelift (option B, picked by Steve 2026-10-12). White header with a red
 * rule and an IWJ mark, split hero with a framed photo slideshow, three doorway cards, goals,
 * a dark first-steps band, documents in both languages, a June 1 band, news, calendar and a
 * three-column footer. Mockups + rationale: TW 3202 notes.md.
 *
 * Rules that carried over from 2.x because they answer a specific Astra or core default:
 *  - body/.site/.site-content background is forced white (Astra paints a blue-grey body).
 *  - the front page has no title block.
 *  - core's `.is-cropped figure:not(#individual-image) img` and query-loop flex sizing carry an
 *    ID or doubled classes, so the gallery and card rules below need !important to win.
 * New guard: #page clips horizontal overflow. The 2.x home page scrolled sideways 20px on an
 * iPhone (TW 3201 finding 1: a 100vw breakout inside a constrained group).
 *
 * NO colour literals except white and rgba shadows: every colour is a variable from
 * iwj-child/style.css.
 */

/* ================================================================ base */
/* Astra paints headings, text, links, buttons and its toggles from its own global palette
   (blue #046bd2, slate #1e293b / #334155 by default). Map that palette onto ours so no Astra
   default colour can leak anywhere, including widgets we have not styled one by one. */
:root {
	--ast-global-color-0: var(--red);
	--ast-global-color-1: var(--red-deep);
	--ast-global-color-2: var(--ink);
	--ast-global-color-3: var(--ink);
	--ast-global-color-4: var(--paper);   /* Astra's light page/box background: white, never a grey band */
	--ast-global-color-5: var(--paper);
	--ast-global-color-6: var(--rule);
	--ast-global-color-7: var(--rule);
	--ast-global-color-8: var(--muted);
}
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4,
.entry-title, .entry-title a { color: var(--ink); }
body,
.ast-container,
button, input, select, textarea {
	font-family: 'Source Sans 3', 'Source Sans Pro', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
}
body,
body.ast-separate-container,
.site,
.site-content { background: var(--paper) !important; color: var(--ink); }
body { -webkit-font-smoothing: antialiased; }
#page { overflow-x: clip; }

h1, h2, h3, h4,
.entry-title,
.site-title {
	font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
	font-weight: 700;
	color: var(--ink);
	text-wrap: balance;
}
a { color: var(--red); }
a:hover, a:focus { color: var(--red-deep); }
:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }

.iwj-eyebrow,
.entry-content p.iwj-eyebrow {
	font: 700 13px/1.2 'Source Sans 3', Arial, sans-serif;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--red);
	margin: 0;
}

/* ================================================================ header */
#masthead {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 99;
	background: var(--paper);
	border-top: 5px solid var(--red);
	transition: box-shadow .3s ease;
}
.admin-bar #masthead { top: 32px; }
@media (max-width: 782px) { .admin-bar #masthead { top: 0; position: relative; } }
body.iwj-scrolled #masthead { box-shadow: 0 6px 20px rgba(0, 0, 0, .07); }

#masthead .ast-primary-header-bar,
#masthead .main-header-bar,
#masthead .ast-above-header-bar {
	background: var(--paper) !important;
	background-image: none !important;
	border-bottom: 1px solid transparent;
	box-shadow: none;
	transition: border-color .3s ease;
}
body.iwj-scrolled #masthead .ast-primary-header-bar { border-bottom-color: var(--rule); }
#masthead .site-primary-header-wrap { min-height: 84px; transition: min-height .3s ease; }
body.iwj-scrolled #masthead .site-primary-header-wrap { min-height: 68px; }

/* the IWJ mark stands in for a logo until the group sends theirs: a custom logo hides it */
#masthead .ast-site-identity { display: flex; align-items: center; gap: 14px; padding: 0; }
#masthead .ast-site-identity::before {
	content: "IWJ";
	flex: none;
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border-radius: 4px;
	background: var(--red);
	color: #ffffff;
	font: 700 19px/1 'Playfair Display', Georgia, serif;
	letter-spacing: .02em;
}
.wp-custom-logo #masthead .ast-site-identity::before { display: none; }
#masthead .site-title { margin: 0; line-height: 1.1; }
#masthead .site-title a,
#masthead .site-title a:hover {
	color: var(--ink) !important;
	font-size: 21px;
	text-decoration: none;
}
#masthead .site-description {
	display: block;
	margin: 6px 0 0;
	font: 700 11.5px/1 'Source Sans 3', Arial, sans-serif;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--muted) !important;
}

/* desktop menu: ink, red on hover with a drawn underline */
#masthead .main-header-menu > .menu-item > .menu-link {
	position: relative;
	color: var(--ink) !important;
	font: 600 16px/1.2 'Source Sans 3', Arial, sans-serif;
	padding: 10px 11px;
	text-transform: none;
}
#masthead .main-header-menu > .menu-item > .menu-link::after {
	content: "";
	position: absolute;
	left: 11px;
	right: 11px;
	bottom: 2px;
	height: 2px;
	background: var(--red);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s ease;
}
#masthead .main-header-menu > .menu-item > .menu-link:hover,
#masthead .main-header-menu > .current-menu-item > .menu-link { color: var(--red) !important; }
#masthead .main-header-menu > .menu-item > .menu-link:hover::after,
#masthead .main-header-menu > .current-menu-item > .menu-link::after { transform: scaleX(1); }

/* EN | ES switch (GTranslate lang_codes look) */
#masthead .ast-header-html-1 { margin-left: 14px; }
#masthead .gtranslate_wrapper {
	display: inline-flex;
	border: 1px solid var(--rule);
	border-radius: 999px;
	overflow: hidden;
	white-space: nowrap;
}
#masthead .gtranslate_wrapper a,
#masthead .gtranslate_wrapper a.glink {
	display: inline-block;
	padding: 9px 12px;
	font: 700 13px/1 'Source Sans 3', Arial, sans-serif;
	letter-spacing: .08em;
	color: var(--ink) !important;
	text-decoration: none !important;
	border: 0;
	transition: background .2s ease, color .2s ease;
}
#masthead .gtranslate_wrapper a:hover { background: var(--stone); }
#masthead .gtranslate_wrapper a.gt-current-lang,
#masthead .gtranslate_wrapper a.gt-current-lang:hover { background: var(--ink); color: #ffffff !important; }
#masthead .gtranslate_wrapper br { display: none; }

/* mobile header: ink burger (was Astra's default blue on the red bar, TW 3201 finding 2) */
#masthead .ast-mobile-header-wrap .ast-primary-header-bar .site-primary-header-wrap { min-height: 70px; }
#masthead .menu-toggle,
#masthead .menu-toggle:hover,
#masthead .menu-toggle:focus {
	background: transparent !important;
	border: 0 !important;
	color: var(--ink) !important;
	box-shadow: none !important;
}
#masthead .menu-toggle .ast-mobile-svg,
#masthead .menu-toggle svg { fill: var(--ink) !important; }
#masthead .ast-mobile-header-content,
#masthead .ast-mobile-header-wrap .main-header-bar-navigation {
	background: var(--paper) !important;
	border-top: 1px solid var(--rule);
}
#masthead .ast-mobile-header-wrap .main-header-menu .menu-link {
	color: var(--ink) !important;
	font: 600 17px/1.2 'Source Sans 3', Arial, sans-serif;
	padding: 15px 20px;
	border-bottom: 1px solid var(--rule) !important;
	background: transparent !important;
}
#masthead .ast-mobile-header-wrap .main-header-menu .current-menu-item > .menu-link { color: var(--red) !important; }
#masthead .ast-mobile-header-wrap .main-header-menu .menu-link::after { content: none !important; }
#masthead .ast-mobile-header-wrap .ast-header-html-1 { margin-left: 0; margin-right: 6px; }
/* 922-1199px: Astra still shows the desktop header, so the name wraps onto two lines and
   the tagline hides to leave room for seven menu items and the language switch */
@media (min-width: 922px) and (max-width: 1199px) {
	#masthead .site-title a { font-size: 18px; }
	#masthead .site-title { max-width: 9.5em; }
	#masthead .site-description { display: none; }
	#masthead .main-header-menu > .menu-item > .menu-link { font-size: 15px; padding: 10px 8px; }
	#masthead .main-header-menu > .menu-item > .menu-link::after { left: 8px; right: 8px; }
	#masthead .ast-header-html-1 { margin-left: 6px; }
}
@media (max-width: 600px) {
	#masthead .ast-site-identity { gap: 10px; }
	#masthead .ast-site-identity::before { width: 42px; height: 42px; font-size: 16px; }
	#masthead .site-title a { font-size: 17px; }
	#masthead .site-description { display: none; }
	#masthead .gtranslate_wrapper a, #masthead .gtranslate_wrapper a.glink { padding: 9px 10px; }
}

/* ================================================================ buttons */
.entry-content .wp-block-button .wp-block-button__link,
.ast-button,
.wpforms-container button[type="submit"],
.wpforms-container .wpforms-submit {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--red) !important;
	color: #ffffff !important;
	border: 2px solid var(--red) !important;
	border-radius: 6px !important;
	padding: 14px 24px !important;
	font: 700 17px/1 'Source Sans 3', Arial, sans-serif !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.entry-content .wp-block-button .wp-block-button__link:hover,
.wpforms-container button[type="submit"]:hover {
	background: var(--red-deep) !important;
	border-color: var(--red-deep) !important;
	transform: translateY(-2px);
}
.entry-content .wp-block-button.iwj-btn-line .wp-block-button__link {
	background: transparent !important;
	border-color: var(--ink) !important;
	color: var(--ink) !important;
}
.entry-content .wp-block-button.iwj-btn-line .wp-block-button__link:hover { background: var(--ink) !important; color: #ffffff !important; }
.entry-content .wp-block-button.iwj-btn-white .wp-block-button__link {
	background: #ffffff !important;
	border-color: #ffffff !important;
	color: var(--ink) !important;
}
.entry-content .wp-block-button.iwj-btn-white .wp-block-button__link:hover { background: var(--pink) !important; border-color: var(--pink) !important; }
.entry-content .wp-block-button.iwj-btn-arrow .wp-block-button__link::after {
	content: "\2192";
	transition: transform .2s ease;
}
.entry-content .wp-block-button.iwj-btn-arrow .wp-block-button__link:hover::after { transform: translateX(4px); }
.entry-content .wp-block-buttons.iwj-btns { display: flex; flex-wrap: wrap; gap: 14px; }

/* ================================================================ inner page titles */
.page:not(.home) .entry-header,
.single .entry-header,
.ast-archive-description {
	margin: 0 0 32px !important;
	padding: 52px 0 0 !important;
	border: 0 !important;
	background: transparent !important;
}
.page:not(.home) .entry-header .entry-title,
.ast-archive-description .ast-archive-title,
.single .entry-header .entry-title {
	position: relative;
	padding-top: 22px !important;
	font-size: clamp(36px, 5vw, 56px) !important;
	line-height: 1.1;
	color: var(--ink) !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
}
.page:not(.home) .entry-header .entry-title::before,
.ast-archive-description .ast-archive-title::before,
.single .entry-header .entry-title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 44px;
	height: 3px;
	background: var(--red);
}
.entry-header .entry-title::after { content: none !important; }
.single .entry-header .entry-title { font-size: clamp(32px, 4.4vw, 48px) !important; }

/* featured image on a page or post: a rounded band, not a 1200px-tall wall */
.ast-single-post-featured-section.post-thumb,
.ast-single-post-featured-section.ast-article-image-container--wide {
	width: auto !important;
	max-width: 1200px !important;
	margin: 36px auto 0 !important;
	padding: 0 !important;
}
.ast-single-post-featured-section.post-thumb img {
	width: 100% !important;
	height: 420px !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	border-radius: 14px;
}

/* front page: no title block, no padding above the hero */
.home .entry-header,
.home .ast-archive-description { display: none !important; }
.home .site-content,
.home #content,
.home #primary,
.home .site-content > .ast-container { padding-top: 0 !important; margin-top: 0 !important; }
.home #primary { margin-bottom: 0 !important; }

/* ================================================================ inner page content */
.entry-content { font-size: 18px; line-height: 1.65; }
.entry-content > h2,
.entry-content > .wp-block-heading:not(h1) { font-size: clamp(26px, 3vw, 34px); margin: 48px 0 16px; }
.entry-content > h3 { font-size: 23px; margin: 32px 0 10px; }
.entry-content > p,
.entry-content > ul,
.entry-content > ol { max-width: 72ch; }
.entry-content a { text-underline-offset: 3px; }
.entry-content > ul li,
.entry-content > ol li { margin-bottom: 6px; }

.entry-meta, .entry-meta *, .post-meta a {
	color: var(--muted) !important;
	font: 700 12.5px/1.4 'Source Sans 3', Arial, sans-serif;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.entry-meta a:hover, .post-meta a:hover { color: var(--red) !important; }

/* ================================================================ home */
.home .entry-content > *,
.home .entry-content [class*="iwj-"] > * { margin-block: 0; }
.home .entry-content p,
.home .entry-content h1,
.home .entry-content h2,
.home .entry-content h3 { margin: 0; }
.iwj-wrap { max-width: 1200px; margin-inline: auto !important; padding-inline: 20px; }
.entry-content .alignfull.iwj-full {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.iwj-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-bottom: 44px !important; }
.iwj-sec-head > .wp-block-group { display: grid; gap: 10px; }
.home .entry-content .iwj-sec-head h2,
.home .entry-content h2.iwj-h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.12; }
.iwj-sec-head .iwj-all a { font-weight: 700; text-decoration: none; white-space: nowrap; }
.iwj-sec-head .iwj-all a::after { content: " \2192"; }
.iwj-sec-head .iwj-all a:hover { text-decoration: underline; }
.iwj-section { padding-block: 92px; }

/* hero: text left, framed slideshow right, on the warm grey band */
.iwj-hero { background: var(--stone); padding-block: 64px 120px; }
.iwj-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); gap: 56px; align-items: center; }
.iwj-hero-text { display: grid; gap: 0; }
.home .entry-content .iwj-hero-title {
	font-size: clamp(40px, 5vw, 64px);
	line-height: 1.12;
	margin-top: 18px;
}
.iwj-hero-title em { color: var(--red); }
.home .entry-content .iwj-lede { font-size: 20px; line-height: 1.6; color: var(--muted); max-width: 38ch; margin-top: 22px; }
.iwj-hero .iwj-btns { margin-top: 32px !important; }

.iwj-frame { position: relative; }
.iwj-frame::before {
	content: "";
	position: absolute;
	inset: 22px -22px -22px 22px;
	border: 2px solid var(--red);
	border-radius: 14px;
	pointer-events: none;
}
.entry-content .wp-block-gallery.iwj-slides {
	position: relative;
	display: block !important;
	aspect-ratio: 4 / 3;
	margin: 0 !important;
	border-radius: 14px;
	overflow: hidden;
	background: var(--ink);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .22);
}
.entry-content .wp-block-gallery.iwj-slides > figure.wp-block-image {
	position: absolute !important;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	opacity: 0;
	transition: opacity 1.4s ease;
}
.entry-content .wp-block-gallery.iwj-slides > figure.wp-block-image:first-child,
.entry-content .wp-block-gallery.iwj-slides.iwj-js > figure.wp-block-image.on { opacity: 1; }
.entry-content .wp-block-gallery.iwj-slides.iwj-js > figure.wp-block-image:not(.on) { opacity: 0; }
.entry-content .wp-block-gallery.iwj-slides > figure.wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	border-radius: 0 !important;
}
.entry-content .wp-block-gallery.iwj-slides > figure.on img { animation: iwj-kb 9s ease-out forwards; }
@keyframes iwj-kb { from { transform: scale(1); } to { transform: scale(1.06); } }
.entry-content .wp-block-gallery.iwj-slides > figure.wp-block-image figcaption {
	position: absolute;
	inset: auto 0 0 0;
	max-height: none;
	margin: 0;
	padding: 44px 22px 20px;
	text-align: left;
	font: 400 15px/1.4 'Source Sans 3', Arial, sans-serif;
	color: #ffffff;
	background: linear-gradient(0deg, rgba(0, 0, 0, .62), rgba(0, 0, 0, 0));
}
.iwj-slide-ui { position: absolute; z-index: 3; right: 14px; top: 14px; display: flex; gap: 8px; }
.iwj-slide-ui button {
	width: 40px;
	height: 40px;
	padding: 0;
	border-radius: 50%;
	border: 0;
	background: rgba(255, 255, 255, .92);
	color: var(--ink);
	font: 700 20px/1 'Source Sans 3', Arial, sans-serif;
	cursor: pointer;
	box-shadow: none;
	transition: background .2s ease, color .2s ease;
}
.iwj-slide-ui button:hover { background: var(--red); color: #ffffff; }
.iwj-slide-progress { position: absolute; z-index: 3; inset: auto 0 0 0; height: 4px; background: rgba(255, 255, 255, .25); }
.iwj-slide-progress span { display: block; height: 100%; width: 0; background: var(--red); }

/* three doorways, overlapping the bottom of the hero band */
.iwj-doors { position: relative; z-index: 5; margin-top: -72px !important; }
.iwj-door-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.iwj-door {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--paper);
	border-radius: 10px;
	padding: 28px 28px 26px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .10);
	border-bottom: 4px solid transparent;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.iwj-door:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(0, 0, 0, .14); border-bottom-color: var(--red); }
.home .entry-content .iwj-door h3 { font-size: 23px; }
.home .entry-content .iwj-door p:not(.iwj-eyebrow):not(.iwj-go) { color: var(--muted); font-size: 16.5px; line-height: 1.55; }
.iwj-door .iwj-go { margin-top: auto !important; padding-top: 8px; font-weight: 700; }
.iwj-door .iwj-go a { text-decoration: none; }
.iwj-door .iwj-go a::before { content: ""; position: absolute; inset: 0; border-radius: 10px; }
.iwj-door .iwj-go a::after { content: " \2192"; }

/* about + goals */
.iwj-about-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr); gap: 64px; }
.iwj-about-intro { display: grid; gap: 0; align-content: start; }
.home .entry-content .iwj-about-intro h2 { margin-top: 10px; }
.home .entry-content .iwj-about-intro p:not(.iwj-eyebrow) { color: var(--muted); margin: 18px 0 24px; }
.iwj-goals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 44px; align-content: start; }
.iwj-goal { position: relative; padding-top: 22px; border-top: 1px solid var(--rule); }
.iwj-goal::before { content: ""; position: absolute; top: -1px; left: 0; width: 44px; height: 3px; background: var(--red); transition: width .4s ease; }
.iwj-goal:hover::before { width: 100%; }
.home .entry-content .iwj-goal h3 { font-size: 22px; }
.home .entry-content .iwj-goal p { color: var(--muted); font-size: 17px; margin-top: 8px; }

/* first steps: a real sequence, so numbered and joined by a line */
.iwj-steps-band { background: var(--ink); color: #ffffff; }
.entry-content .iwj-steps-band p.iwj-eyebrow,
.entry-content .iwj-june p.iwj-eyebrow,
.entry-content .iwj-state p.iwj-eyebrow { color: var(--pink); }
.home .entry-content .iwj-steps-band h2,
.home .entry-content .iwj-steps-band h3 { color: #ffffff; }
.iwj-steps { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.iwj-steps::before { content: ""; position: absolute; top: 27px; left: 28px; right: 28px; height: 2px; background: var(--rule-dark); }
.iwj-step { position: relative; }
.home .entry-content .iwj-step .iwj-step-n {
	position: relative;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--red);
	color: #ffffff;
	display: grid;
	place-items: center;
	font: 700 24px/1 'Playfair Display', Georgia, serif;
	box-shadow: 0 0 0 8px var(--ink);
}
.home .entry-content .iwj-step h3 { font-size: 23px; margin: 22px 0 10px; }
.home .entry-content .iwj-step p:not(.iwj-step-n) { color: var(--foot-text); font-size: 17px; }
.iwj-steps-band a { color: var(--pink); }

/* documents + state list */
.iwj-res-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.iwj-doc { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 0; border-bottom: 1px solid var(--rule); }
.iwj-doc:first-child { border-top: 1px solid var(--rule); }
.iwj-doc > .wp-block-group { min-width: 0; }
.home .entry-content .iwj-doc .iwj-doc-t { font: 700 19px/1.35 'Playfair Display', Georgia, serif; }
.home .entry-content .iwj-doc .iwj-doc-d { font-size: 15px; color: var(--muted); margin-top: 4px; }
.iwj-pills { display: flex; gap: 8px; flex: none; }
.iwj-pills a,
.iwj-doc-list li a {
	display: inline-block;
	font: 700 13px/1 'Source Sans 3', Arial, sans-serif;
	letter-spacing: .06em;
	text-decoration: none;
	padding: 9px 12px;
	border-radius: 999px;
	background: var(--stone);
	color: var(--ink);
	transition: background .2s ease, color .2s ease;
}
.iwj-pills a:hover,
.iwj-doc-list li a:hover { background: var(--red); color: #ffffff; }

.iwj-state {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	min-height: 380px;
	display: flex;
	align-items: flex-end;
	color: #ffffff;
	background: var(--ink);
}
.iwj-state > figure.iwj-bg,
.iwj-june > figure.iwj-bg { position: absolute !important; inset: 0; margin: 0 !important; }
.iwj-state > figure.iwj-bg img,
.iwj-june > figure.iwj-bg img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.iwj-state:hover > figure.iwj-bg img { transform: scale(1.05); }
.iwj-state::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20, 20, 20, .95) 0%, rgba(20, 20, 20, .86) 45%, rgba(20, 20, 20, .45) 80%, rgba(20, 20, 20, .3)); }
.iwj-state-in { position: relative; z-index: 2; padding: 32px; display: grid; gap: 10px; }
.home .entry-content .iwj-state h3 { color: #ffffff; font-size: 28px; }
.home .entry-content .iwj-state p:not(.iwj-eyebrow) { color: var(--rule); font-size: 17px; margin-bottom: 12px; }

/* June 1 */
.iwj-june { position: relative; overflow: hidden; padding-block: 110px; color: #ffffff; background: var(--ink); }
.iwj-june::after { content: ""; position: absolute; inset: 0; background: rgba(18, 18, 18, .78); }
.iwj-june-in { position: relative; z-index: 2; text-align: center; display: grid; justify-items: center; gap: 0; }
.home .entry-content .iwj-june-big { font: 700 clamp(80px, 12vw, 160px)/.95 'Playfair Display', Georgia, serif; color: #ffffff; margin-top: 14px; }
.iwj-june-big em { color: var(--pink); }
.home .entry-content .iwj-june h2 { color: #ffffff; font-size: clamp(26px, 3vw, 36px); margin-top: 18px; }
.home .entry-content .iwj-june p:not(.iwj-eyebrow):not(.iwj-june-big) { color: var(--rule); max-width: 56ch; margin: 14px auto 28px; }

/* news: one featured post beside two smaller ones */
.iwj-news-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 36px; }
.iwj-news-grid .wp-block-post-template { list-style: none; margin: 0 !important; padding: 0; display: grid !important; gap: 26px; }
.iwj-news-grid .wp-block-post-template > li { width: auto !important; margin: 0 !important; }
.iwj-news-grid .wp-block-post-featured-image { margin: 0 !important; overflow: hidden; border-radius: 10px; }
.iwj-news-grid .wp-block-post-featured-image img {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
	transition: transform .6s ease;
}
.iwj-news-grid li:hover .wp-block-post-featured-image img { transform: scale(1.04); }
.iwj-news-grid .wp-block-post-date {
	font: 700 12px/1 'Source Sans 3', Arial, sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
}
.iwj-news-grid .wp-block-post-title { margin: 0; line-height: 1.2; }
.iwj-news-grid .wp-block-post-title a { color: var(--ink); text-decoration: none; }
.iwj-news-grid li:hover .wp-block-post-title a { color: var(--red); }
.iwj-news-grid .wp-block-post-excerpt { margin: 0; color: var(--muted); }
.iwj-news-grid .wp-block-post-excerpt__excerpt { margin: 0; }
.iwj-news-grid .wp-block-post-excerpt__more-text,
.iwj-news-grid .wp-block-post-excerpt__more-link { display: none; }

.iwj-news-feat li { display: flex; flex-direction: column; gap: 14px; }
.iwj-news-feat .wp-block-post-featured-image { aspect-ratio: 16 / 10; }
.iwj-news-feat .wp-block-post-featured-image a { display: block; height: 100%; }
.home .entry-content .iwj-news-feat .wp-block-post-title { font-size: 30px; }

.iwj-news-minis li {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	grid-template-rows: auto auto 1fr;
	column-gap: 20px;
	row-gap: 6px;
	padding-bottom: 26px;
	border-bottom: 1px solid var(--rule);
}
.iwj-news-minis .wp-block-post-featured-image { grid-row: 1 / 4; aspect-ratio: 1 / 1; }
.iwj-news-minis .wp-block-post-featured-image a { display: block; height: 100%; }
.iwj-news-minis .wp-block-post-date { margin-top: 6px; }
.home .entry-content .iwj-news-minis .wp-block-post-title { font-size: 21px; }
.iwj-news-minis .wp-block-post-excerpt { font-size: 16px; }

/* calendar teaser + get involved */
.iwj-cal-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; }
.iwj-events .iwj-sec-head { margin-bottom: 14px !important; }
.iwj-involve { background: var(--stone); border-radius: 12px; padding: 40px 38px; display: grid; gap: 0; align-content: center; }
.home .entry-content .iwj-involve h2 { font-size: clamp(28px, 3vw, 36px); margin: 12px 0; }
.home .entry-content .iwj-involve p:not(.iwj-eyebrow) { color: var(--muted); margin-bottom: 24px; }

/* Simple Calendar, home teaser and the Calendar page */
.simcal-calendar { font-family: 'Source Sans 3', Arial, sans-serif; }
.simcal-default-calendar-list .simcal-calendar-head { display: none; }
.iwj-events .simcal-events-list-container,
.simcal-default-calendar-list .simcal-events-list-container { margin: 0; }
.simcal-default-calendar-list dt.simcal-day-label {
	margin: 0;
	padding: 18px 0 6px;
	border: 0 !important;
	border-top: 1px solid var(--rule) !important;
	background: transparent !important;
	color: var(--red) !important;
	font: 700 13px/1.2 'Source Sans 3', Arial, sans-serif;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.simcal-default-calendar-list dt.simcal-day-label span { background: transparent !important; color: inherit !important; }
.simcal-default-calendar-list dd.simcal-day { margin: 0; padding: 0 0 18px; border: 0 !important; }
.simcal-default-calendar-list .simcal-event-title { font: 700 20px/1.3 'Playfair Display', Georgia, serif; color: var(--ink); }
.simcal-default-calendar-list .simcal-event-details { color: var(--muted); font-size: 16px; }
.simcal-events-list-container > p,
.iwj-events .simcal-events-list-container > p {
	margin: 0;
	padding: 20px 0;
	border-top: 1px solid var(--rule);
	border-bottom: 1px solid var(--rule);
	color: var(--muted);
}

/* ================================================================ resources page */
.entry-content .iwj-doc-list { list-style: none; margin: 0 0 8px; padding: 0; max-width: none; }
.entry-content .iwj-doc-list li {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 8px;
	margin: 0;
	padding: 20px 0;
	border-bottom: 1px solid var(--rule);
	font-size: 0;            /* hides the " | " text between the two links; children restore it */
}
.entry-content .iwj-doc-list li:first-child { border-top: 1px solid var(--rule); }
.entry-content .iwj-doc-list li strong {
	flex: 1 1 320px;
	min-width: 0;
	font: 700 19px/1.35 'Playfair Display', Georgia, serif;
	color: var(--ink);
}
.entry-content .iwj-doc-list li br { display: none; }
.entry-content iframe.iwj-embed { border: 1px solid var(--rule) !important; border-radius: 10px; background: var(--paper); }
.entry-content h2[id] { scroll-margin-top: 110px; }

/* ================================================================ news archive + posts */
.ast-archive-description { padding-left: 0; padding-right: 0; }
.blog .ast-row,
.archive .ast-row { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 0 !important; }
.blog .ast-row::before, .blog .ast-row::after,
.archive .ast-row::before, .archive .ast-row::after { content: none !important; }
.archive .ast-row > article,
.blog .ast-row > article { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.archive .ast-article-inner,
.blog .ast-article-inner {
	height: 100%;
	background: var(--paper) !important;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .07) !important;
	transition: transform .25s ease, box-shadow .25s ease;
}
.archive .ast-article-inner:hover,
.blog .ast-article-inner:hover { transform: translateY(-5px); box-shadow: 0 16px 36px rgba(0, 0, 0, .13) !important; }
.archive .post-content,
.blog .post-content { padding: 0 0 24px !important; }
.archive .ast-blog-featured-section,
.blog .ast-blog-featured-section { margin: 0 0 18px !important; overflow: hidden; }
.archive .ast-blog-featured-section img,
.blog .ast-blog-featured-section img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s ease; }
.archive .ast-article-inner:hover .ast-blog-featured-section img { transform: scale(1.05); }
.archive .ast-article-inner > .post-content > :not(.ast-blog-featured-section),
.blog .ast-article-inner > .post-content > :not(.ast-blog-featured-section) { padding-left: 24px; padding-right: 24px; }
.archive .entry-title,
.blog .entry-title { font-size: 21px !important; line-height: 1.25; margin: 6px 0 10px; }
.archive .entry-title a,
.blog .entry-title a { color: var(--ink); text-decoration: none; }
.archive .entry-title a:hover { color: var(--red); }
.archive .posted-by, .blog .posted-by { display: none !important; }
.archive .ast-excerpt-container p { color: var(--muted); font-size: 16.5px; margin: 0; }
.archive .read-more a, .blog .read-more a { font-weight: 700; text-decoration: none; }

/* ================================================================ contact form (WPForms modern) */
.wpforms-container {
	--wpforms-button-background-color: var(--red);
	--wpforms-button-border-color: var(--red);
	--wpforms-button-text-color: #ffffff;
	--wpforms-field-border-color: var(--rule);
	--wpforms-field-border-radius: 6px;
	--wpforms-label-color: var(--ink);
	max-width: 760px;
}
.wpforms-container .wpforms-field input,
.wpforms-container .wpforms-field textarea {
	border: 1px solid var(--rule) !important;
	border-radius: 6px !important;
	font-size: 17px !important;
	box-shadow: none !important;
}
.wpforms-container .wpforms-field input:focus,
.wpforms-container .wpforms-field textarea:focus { border-color: var(--red) !important; box-shadow: 0 0 0 3px var(--pink) !important; }
.wpforms-container .wpforms-field-label { font-weight: 700 !important; font-size: 16px !important; }

/* ================================================================ footer */
.site-footer { background: var(--ink-2) !important; border-top: 0; color: var(--foot-text); }
.site-footer .site-below-footer-wrap,
.site-footer .site-primary-footer-wrap { background: var(--ink-2) !important; }
.iwj-footer { padding-block: 64px 8px; font-size: 16px; color: var(--foot-text); }
.iwj-fgrid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); gap: 40px; }
.iwj-fbrand { display: flex; align-items: center; gap: 14px; color: #ffffff; text-decoration: none; }
.iwj-fbrand:hover { color: #ffffff; }
.iwj-fbrand .iwj-mark {
	flex: none;
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	border-radius: 4px;
	background: var(--red);
	color: #ffffff;
	font: 700 19px/1 'Playfair Display', Georgia, serif;
}
.iwj-fbrand .iwj-fname { font: 700 21px/1.1 'Playfair Display', Georgia, serif; }
.iwj-fbrand small { display: block; margin-top: 6px; font: 700 11.5px/1 'Source Sans 3', Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--foot-text); }
.iwj-fabout p { max-width: 40ch; margin: 18px 0 0; color: var(--foot-text); }
.iwj-footer h4 { font: 700 13px/1 'Source Sans 3', Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: #ffffff; margin: 6px 0 16px; }
.iwj-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.iwj-footer a { color: var(--foot-link); text-decoration: none; }
.iwj-footer a:hover { color: #ffffff; text-decoration: underline; }
.site-footer .site-below-footer-wrap .ast-builder-grid-row-container-inner { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; }
.site-footer .site-below-footer-inner-wrap { width: 100%; grid-template-columns: minmax(0, 1fr) !important; }
.site-footer .site-below-footer-wrap { border-top: 0 !important; padding: 0 !important; }
.site-footer .site-below-footer-inner-wrap { min-height: 0 !important; padding: 22px 0 28px !important; margin-top: 40px; border-top: 1px solid var(--rule-dark); justify-items: start !important; }
.site-below-footer-inner-wrap .site-footer-section { justify-content: flex-start !important; }
.ast-footer-copyright, .ast-footer-copyright p, .ast-footer-copyright span { color: var(--foot-text) !important; font-size: 15px; margin: 0; text-align: left !important; }

/* ================================================================ motion */
.iwj-pre { opacity: 0; transform: translateY(22px); }
.iwj-door, .iwj-goal, .iwj-step, .iwj-doc, .iwj-state, .iwj-june-in, .iwj-news-feat, .iwj-news-minis li,
.iwj-events, .iwj-involve, .iwj-sec-head, .iwj-about-intro { transition: opacity .8s ease, transform .8s ease; }
.iwj-door:hover, .iwj-state:hover { transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }

/* ================================================================ responsive */
@media (max-width: 1100px) {
	.iwj-hero-grid { gap: 40px; }
	.iwj-about-grid { gap: 44px; }
	.iwj-door { padding: 24px 22px 22px; }
}
@media (max-width: 860px) {
	.iwj-hero-grid, .iwj-about-grid, .iwj-res-grid, .iwj-news-grid, .iwj-cal-grid { grid-template-columns: minmax(0, 1fr); }
	.iwj-frame { max-width: 620px; }
	.iwj-door-grid, .iwj-steps { grid-template-columns: minmax(0, 1fr); }
	.iwj-steps::before { top: 28px; bottom: 28px; left: 27px; right: auto; width: 2px; height: auto; }
	.iwj-step { padding-left: 84px; min-height: 56px; }
	.home .entry-content .iwj-step .iwj-step-n { position: absolute; left: 0; top: 0; }
	.home .entry-content .iwj-step h3 { margin-top: 10px; }
	.iwj-fgrid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.iwj-fgrid > :first-child { grid-column: 1 / -1; }
	.blog .ast-row, .archive .ast-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.entry-content { font-size: 17px; }
	.iwj-wrap { padding-inline: 18px; }
	.iwj-section { padding-block: 64px; }
	.iwj-hero { padding-block: 36px 100px; }
	.iwj-hero-grid { gap: 40px; }
	.home .entry-content .iwj-lede { font-size: 18px; }
	.iwj-frame::before { inset: 12px -10px -12px 12px; }
	.entry-content .wp-block-button .wp-block-button__link { padding: 13px 18px !important; font-size: 16px !important; }
	.iwj-goals { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.iwj-doc { flex-direction: column; align-items: flex-start; gap: 10px; }
	.iwj-news-minis li { grid-template-columns: 104px minmax(0, 1fr); column-gap: 16px; }
	.iwj-news-minis .wp-block-post-excerpt { display: none; }
	.home .entry-content .iwj-news-feat .wp-block-post-title { font-size: 25px; }
	.iwj-involve { padding: 30px 24px; }
	.iwj-june { padding-block: 80px; }
	.blog .ast-row, .archive .ast-row { grid-template-columns: minmax(0, 1fr); }
	.ast-single-post-featured-section.post-thumb img { height: 240px !important; }
	.page:not(.home) .entry-header, .single .entry-header, .ast-archive-description { padding-top: 32px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.iwj-pre { opacity: 1; transform: none; }
}

/* ================================================================ /docs: the checklist page for the group (TW 3202) */
/* Astra pads top-level groups 54px left/right and resets their width; these doubled selectors win */
.entry-content > .wp-block-group.iwj-docs-intro,
.entry-content > .wp-block-group.iwj-doc-step { max-width: 860px; padding-left: 0; padding-right: 0; }
.entry-content > .wp-block-group.iwj-docs-intro,
.entry-content > .wp-block-group.iwj-doc-step,
.entry-content > .wp-block-group.iwj-mission { margin-left: 0 !important; margin-right: auto !important; }
.entry-content > .wp-block-group.iwj-mission { max-width: 860px; padding: 28px 30px; }
.iwj-docs-intro { display: grid; gap: 14px; }
.entry-content .iwj-docs-intro p { margin: 0; }
.entry-content .iwj-docs-intro p:not(.iwj-eyebrow) { font-size: 20px; line-height: 1.6; }
.iwj-mission { margin-top: 36px !important; background: var(--stone); border-radius: 12px; padding: 28px 30px; }
.entry-content .iwj-mission h2.iwj-mission-h { font-size: 26px; margin: 0 0 14px; }
.iwj-mission-row { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 14px 0; border-top: 1px solid var(--rule); }
.entry-content .iwj-mission-row p { margin: 0; }
.entry-content .iwj-mission-row .iwj-mission-n {
	width: 36px; height: 36px; border-radius: 50%; background: var(--red); color: #ffffff;
	display: grid; place-items: center; font: 700 17px/1 'Playfair Display', Georgia, serif;
}
.iwj-mission-t a { font: 700 19px/1.3 'Playfair Display', Georgia, serif; color: var(--ink); text-decoration: none; }
.iwj-mission-t a:hover { color: var(--red); text-decoration: underline; }
.entry-content .iwj-mission-row .iwj-mission-s {
	font: 700 12px/1 'Source Sans 3', Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase;
	padding: 7px 11px; border-radius: 999px; background: var(--paper); color: var(--muted); border: 1px solid var(--rule); white-space: nowrap;
}
.entry-content .iwj-mission-row.iwj-done .iwj-mission-s { background: var(--ink); color: #ffffff; border-color: var(--ink); }
.entry-content .iwj-mission-row.iwj-done .iwj-mission-t a { text-decoration: line-through; color: var(--muted); }
.entry-content .iwj-mission .iwj-mission-foot { margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--rule); font-size: 16.5px; color: var(--muted); }

.iwj-doc-step { margin-top: 72px !important; padding-top: 40px; border-top: 1px solid var(--rule); }
.entry-content .iwj-doc-step > h2 { font-size: clamp(30px, 3.6vw, 40px); margin: 10px 0 18px; scroll-margin-top: 110px; }
.entry-content .iwj-doc-step h3 { font-size: 23px; margin: 36px 0 12px; scroll-margin-top: 110px; }
.entry-content .iwj-doc-step p { margin: 0 0 14px; max-width: 72ch; }
.iwj-meta { display: grid; gap: 4px; background: var(--stone); border-radius: 8px; padding: 14px 18px; margin: 0 0 8px; max-width: 72ch; }
.entry-content .iwj-meta p { margin: 0; font-size: 16.5px; }
.entry-content ol.iwj-howto { list-style: none; padding: 0; margin: 0 0 18px; max-width: 72ch; }
.entry-content ol.iwj-howto > li { position: relative; padding-left: 52px; margin: 0 0 16px; min-height: 34px; line-height: 1.6; }
.entry-content ol.iwj-howto > li::before {
	content: counter(list-item); position: absolute; left: 0; top: -1px; width: 34px; height: 34px; border-radius: 50%;
	background: var(--ink); color: #ffffff; display: grid; place-items: center; font: 700 16px/1 'Source Sans 3', Arial, sans-serif;
}
.entry-content ul.iwj-bullets { margin: 0 0 18px; padding-left: 22px; max-width: 72ch; }
.entry-content ul.iwj-bullets li { margin-bottom: 6px; }
.entry-content .wp-block-image.iwj-shot { margin: 8px 0 30px; max-width: 820px; }
.entry-content .wp-block-image.iwj-shot-narrow { max-width: 420px; }
.entry-content .wp-block-image.iwj-shot-mid { max-width: 600px; }
.entry-content .wp-block-image.iwj-shot img { border: 1px solid var(--rule); border-radius: 10px; box-shadow: 0 10px 30px rgba(0, 0, 0, .08); }
.entry-content .wp-block-image.iwj-shot figcaption { font-size: 15px; color: var(--muted); margin-top: 10px; text-align: left; }
.iwj-tip { background: var(--stone); border-radius: 10px; padding: 18px 22px; margin: 6px 0 20px !important; max-width: 72ch; }
.entry-content .iwj-tip p { margin: 0; }
.entry-content .iwj-tip .iwj-tip-label { font: 700 12.5px/1 'Source Sans 3', Arial, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--red); margin-bottom: 8px; }
.entry-content pre.iwj-template {
	background: var(--paper) !important; border: 2px dashed var(--rule) !important; border-radius: 10px;
	padding: 22px 24px !important; margin: 8px 0 24px; max-width: 640px; color: var(--ink);
	font: 400 16px/1.75 ui-monospace, Menlo, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere;
}
.entry-content pre.iwj-template code { font: inherit; background: none; padding: 0; color: inherit; }
@media (max-width: 600px) {
	.entry-content > .wp-block-group.iwj-mission { padding: 22px 18px; }
	.iwj-mission-row { grid-template-columns: 36px minmax(0, 1fr); }
	.entry-content .iwj-mission-row .iwj-mission-s { grid-column: 2; justify-self: start; }
	.entry-content .iwj-docs-intro p:not(.iwj-eyebrow) { font-size: 18px; }
	.entry-content ol.iwj-howto > li { padding-left: 46px; }
	.iwj-doc-step { margin-top: 56px !important; }
}
/*
Theme Name: IWJ Child
Theme URI: https://injuredworkerjustice.org
Description: Injured Worker Justice Project. Child of Astra. ALL structure lives in iwj-shared/base.css; this file is the palette and nothing else.
Author: Prometheus Labor Communications
Template: astra
Version: 3.0.0
Text Domain: iwj-child
*/

/*
 * ############################################################################
 * THIS FILE IS THE PALETTE. ONE :root BLOCK, NOTHING ELSE.
 *
 * Every structural rule lives in iwj-shared/base.css and references these
 * variables, so a palette change is this block and nothing else (TW 2252).
 *
 * 3.0.0 (TW 3202, 2026-10-12): the "Open" facelift Steve picked (option B of
 * https://claude.ai/artifact/JUUne8hjxiAatdbmDMDSHC). Same approved colours as
 * 2.0.0: the solidarity red, near-black, the warm grey band and the pink hover.
 * --red-deep is the only addition, a darker shade of the same red for hover.
 * ############################################################################
 */

:root {
	--red:       #a71f2b;   /* the one accent: rule, buttons, links, IWJ mark */
	--red-deep:  #8c1a24;   /* hover shade of the same red */
	--pink:      #ffd8db;   /* accent text on near-black (red fails contrast there) */
	--ink:       #1e1e1e;   /* text, the steps band */
	--ink-2:     #171717;   /* footer */
	--paper:     #ffffff;
	--stone:     #f4f4f2;   /* warm grey bands */
	--muted:     #5d5a57;   /* secondary text, 6.6:1 on white */
	--rule:      #e4e1dc;   /* hairlines on light */
	--rule-dark: #3a3a3a;   /* hairlines on near-black */
	--foot-text: #d6d6d6;   /* 12.3:1 on --ink-2 (TW 2253 P1) */
	--foot-link: #e6e6e6;
}