/**
 * Athought theme — main stylesheet.
 * Enqueued via functions.php.
 * ID-5: Base layout, header full/minimized states.
 */

/* -------------------------------------------------------------------------
   Variables — design palette (named colors)
   ------------------------------------------------------------------------- */
:root {
	--athought-header-height-full: 230px; /* 224 + 6px buffer so logo doesn’t clip at bottom */
	--athought-header-height-minimized: 75px; /* 69 + 6px buffer so logo doesn’t clip at bottom */
	--athought-header-padding-top: 30px;
	--athought-header-padding-bottom-full: 44px; /* 230 - 30 - 156 */
	--athought-header-logo-height-full: 156px;
	--athought-header-logo-height-minimized: 69px;
	--athought-header-minimized-gap: 30px;
	--athought-header-minimized-gap-logo: 45px;   /* Space between Reach me and logo, and between logo and Archives */
	--athought-header-minimized-gap-inner: 30px;  /* Space between I am Shahzad and Reach me; between Archives and search */
	--athought-transition-duration: 0.25s;
	--athought-header-transition-duration: 0.8s;
	--athought-header-transition-delay: 0s;
	--athought-header-transition-ease: cubic-bezier(0.33, 0, 0.2, 1); /* Smooth decelerate — fluid in both directions */
	--athought-ease-gentle: cubic-bezier(0.4, 0, 0.2, 1); /* Gentle ease for cross-dissolve */
	--athought-underline-duration: 0.35s;
	--athought-underline-gap: 4px; /* space between text and animated underline */
	--athought-font-sans: "Geologica", system-ui, -apple-system, sans-serif;
	--athought-font-heading: "Archivo Black", sans-serif;
	--athought-space-unit: 8px;
	--athought-vertical-spacing: 90px; /* Between major layout sections only: header, top banner, main article, more articles, footer — not within a component */
	--athought-container-max: 1140px;
	--athought-gutter: 15px;

	/* Design palette */
	--athought-bg: #00051E;                    /* Rich Black — background */
	--athought-bg-panel: #00051E;               /* Rich Black — panels */
	--athought-bg-header: #00051E;             /* Rich Black — header */
	--athought-color-link: #00C983;            /* Caribbean Green — links */
	--athought-color-link-hover: #00C983;      /* Caribbean Green — same as default (no color change on hover) */
	--athought-color-meta: #6B9EBE;            /* Cerulean Frost — secondary/meta info */
	--athought-color-meta-line: rgba(107, 158, 190, 0.5); /* Cerulean Frost 50% — "— |" and "|" only */
	--athought-color-subheading: #0029FF;     /* Blue — sub headings */
	--athought-color-text: #CAEAFF;            /* Water — content, body & other text */
	--athought-color-heading: #CAEAFF;         /* Water — titles/headings */
	--athought-color-red: #FF0000;             /* Red — accents, validation */

	/* Derived */
	--athought-color-border: rgba(202, 234, 255, 0.15);
	--athought-color-border-search: var(--athought-color-meta);
	--athought-bg-search-header: rgba(0, 201, 131, 0.1); /* Caribbean green 10% */
	--athought-color-text-30: rgba(202, 234, 255, 0.3); /* Water 30% */

	/* More Articles list item — hover (blue bg, Caribbean green text) / active (Caribbean green bg, blue text) */
	--athought-bg-list-item-hover: #0029FF;
	--athought-bg-list-item-active: #00C983;
	--athought-color-list-item-title-hover: #00C983;
	--athought-color-list-item-meta-hover: #00C983;
	--athought-color-list-item-title-active: #0029FF;
	--athought-color-list-item-meta-active: #0029FF;
}

/* -------------------------------------------------------------------------
   Base
   ------------------------------------------------------------------------- */
body {
	margin: 0;
	font-family: var(--athought-font-sans);
	font-size: 16px;
	line-height: 1.5;
	color: var(--athought-color-text);
	background: var(--athought-bg);
	-webkit-font-smoothing: antialiased;
}

#page {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* -------------------------------------------------------------------------
   Skip link
   ------------------------------------------------------------------------- */
.skip-link {
	position: absolute;
	top: -100%;
	left: var(--athought-space-unit);
	z-index: 100000;
	padding: var(--athought-space-unit) calc(2 * var(--athought-space-unit));
	background: var(--athought-color-link);
	color: var(--athought-bg);
	text-decoration: none;
	transition: top var(--athought-transition-duration);
}

.skip-link:focus {
	top: var(--athought-space-unit);
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal;
}

.skip-link:focus .screen-reader-text {
	clip: auto;
	clip-path: none;
	height: auto;
	width: auto;
	margin: 0;
	overflow: visible;
}

/* -------------------------------------------------------------------------
   Browser UI cover — rich black strip above nav, covers safe area / liquid glass only
   ------------------------------------------------------------------------- */
.browser-ui-cover {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: env(safe-area-inset-top, 0);
	background: var(--athought-bg-header);
	z-index: 999;
	pointer-events: none;
}

/* -------------------------------------------------------------------------
   Site header — full width, dark, 3-column (left nav | center logo | right)
   ------------------------------------------------------------------------- */
.site-header {
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: transparent;
	transform: translateZ(0);
	backface-visibility: hidden;
	overflow: visible;
	transition: box-shadow var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay),
	            background var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay),
	            backdrop-filter var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay),
	            -webkit-backdrop-filter var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay);
}

/* No transition on initial load — prevents "big then shrink" when JS applies scroll state */
.site-header.header--no-transition,
.site-header.header--no-transition .site-header__inner,
.site-header.header--no-transition .site-branding .site-title__link svg,
.site-header.header--no-transition .site-branding .site-title__link img,
.site-header.header--no-transition .main-navigation--left,
.site-header.header--no-transition .site-header__right,
.site-header.header--no-transition .main-navigation--left a,
.site-header.header--no-transition .site-header__archives,
.site-header.header--no-transition .site-header__search {
	transition: none !important;
}

/* Desktop: header inner constrained to container; mobile full width in media query below */
.site-header__inner {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: calc(2 * var(--athought-space-unit));
	width: 100%;
	max-width: var(--athought-container-max);
	margin: 0 auto;
	box-sizing: border-box;
	padding: var(--athought-header-padding-top) 0 0;
	min-height: var(--athought-header-height-full);
	overflow: visible;
	will-change: min-height, height, padding, width;
	transition: width var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay),
	            height var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay),
	            min-height var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay),
	            padding var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay),
	            gap var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay);
}

/* Left: primary nav */
.main-navigation--left {
	justify-self: start;
	display: flex;
	align-items: center;
}

.main-navigation--left .primary-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: calc(3 * var(--athought-space-unit));
}

.main-navigation--left .primary-menu li {
	margin: 0;
	padding: 0;
	line-height: inherit;
}

/* Header left nav + Archives: Caribbean green, 16px in default state */
.site-header.header--full .main-navigation--left a,
.site-header.header--full .site-header__archives {
	color: var(--athought-color-link);
	text-decoration: none;
	font-size: 16px;
}

.site-header .main-navigation--left a,
.site-header .site-header__archives {
	position: relative;
	display: inline-block;
	padding-bottom: var(--athought-underline-gap);
	line-height: 1.25;
	color: var(--athought-color-link);
	text-decoration: none;
	transition: font-size var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay);
}

.site-header .main-navigation--left a::after,
.site-header .site-header__archives::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.site-header .main-navigation--left a:hover,
.site-header .main-navigation--left a:focus,
.site-header .site-header__archives:hover,
.site-header .site-header__archives:focus {
	color: var(--athought-color-link-hover);
}

.site-header .main-navigation--left a:hover::after,
.site-header .main-navigation--left a:focus::after,
.site-header .site-header__archives:hover::after,
.site-header .site-header__archives:focus::after {
	transform: scaleX(1);
}

/* Center: logo — overflow visible so logo never clips in full or minimized state; center vertically so baseline alignment of left/right doesn’t move it */
.site-branding {
	justify-self: center;
	overflow: visible;
	min-height: 0;
}

.site-branding .site-title__link {
	display: inline-flex;
	align-items: center;
	overflow: visible;
	transform-origin: center center;
	will-change: transform;
}

/* Same wiggle as footer logo: grow + wiggle on hover/focus */
.site-branding .site-title__link:hover,
.site-branding .site-title__link:focus {
	animation: footer-logo-wiggle 0.7s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

/* Reverse on mouse out (triggered by JS) */
.site-branding .site-title__link.logo--shrinking {
	animation: footer-logo-wiggle-reverse 0.7s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

.site-title {
	margin: 0;
	line-height: 1;
	font-family: var(--athought-font-heading);
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--athought-color-heading);
}

.site-title__link {
	color: var(--athought-color-heading);
	text-decoration: none;
	gap: 0.25em;
}

.site-title__link:hover,
.site-title__link:focus {
	color: var(--athought-color-link-hover);
}

.site-title__text {
	letter-spacing: 0.02em;
}

.site-branding .site-title__link svg,
.site-branding .site-title__link img {
	display: block;
	height: 1.4em;
	width: auto;
	vertical-align: middle;
	will-change: height;
	transition: height var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay);
}

.site-branding .site-title__link img {
	object-fit: contain;
}

/* Default (full) state: logo 188px height, proportional width */
.site-header.header--full .site-branding .site-title__link svg,
.site-header.header--full .site-branding .site-title__link img {
	height: var(--athought-header-logo-height-full);
	width: auto;
}

/* Right: Archives + search — Archives vertically centered with search */
.site-header__right {
	display: flex;
	align-items: center;
	gap: calc(3 * var(--athought-space-unit));
	justify-self: end;
}

.site-header .site-header__archives {
	padding-top: var(--athought-underline-gap);
}

/* Ensure intro social icons have a clear hover on pointer/desktop */
@media (hover: hover) and (pointer: fine) {
	.intro-section__icons .intro-section__icon:hover,
	.intro-section__icons .intro-section__icon:focus-visible {
		background: var(--athought-color-subheading);
		color: var(--athought-color-link);
		transform: scale(1.6);
	}
}

/* Header search form — Caribbean green 10% bg, 1px Caribbean green border, 15px radius, 15px/20px padding default, max 150px, 16px text */
.site-header__search {
	display: flex;
	align-items: center;
	max-width: 150px;
	padding: 15px 20px;
	background: var(--athought-bg-search-header);
	border: 1px solid var(--athought-color-link);
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 0 0 0 0 rgba(0, 201, 131, 0);
	transition: padding var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay),
	            width var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay),
	            border-width var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay),
	            box-shadow var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay);
}

.site-header__search:hover,
.site-header__search:focus-within {
	border-width: 2px;
	box-shadow: 0 0 0 10px rgba(0, 201, 131, 0.5);
}

.site-header__search .search-form__field {
	flex: 1;
	min-width: 0;
	padding: 0;
	margin: 0 -4px 0 0; /* align with icon */
	font-size: 16px;
	color: var(--athought-color-text);
	background: transparent;
	border: 0;
	outline: 0;
}

.site-header__search .search-form__field::placeholder {
	color: var(--athought-color-meta);
}

/* Remove default dark grey clear/cross on search inputs (Chrome, Safari, Firefox, Edge) */
.search-form__field::-webkit-search-cancel-button,
.search-form__field::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}
.search-form__field::-moz-search-cancel-button,
.search-form__field::-moz-search-decoration {
	-moz-appearance: none;
	appearance: none;
}

/* Clear search: only visible when expanded; 60px gap to search icon; fade in when bar opens */
.site-header__search .search-form__clear {
	display: none;
	padding: 5px 10px;
	margin-right: 60px;
	font-family: var(--athought-font-sans);
	font-size: 16px;
	color: #ff0000;
	background: transparent;
	border: 1px solid #ff0000;
	border-radius: 15px;
	cursor: pointer;
	white-space: nowrap;
}
.site-header__search.site-header__search--expanded .search-form__clear {
	display: inline-block;
	background: rgba(255, 0, 0, 0.1);
	animation: search-clear-fade-in 0.35s ease forwards;
}
.site-header__search .search-form__clear:hover,
.site-header__search .search-form__clear:focus {
	color: var(--athought-color-text);
	background: #ff0000;
	outline: none;
}
@keyframes search-clear-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.site-header__search .search-form__submit {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--athought-color-link);
	cursor: pointer;
}

.site-header__search .search-form__submit:hover,
.site-header__search .search-form__submit:focus {
	color: var(--athought-color-link-hover);
}

.site-header__search .search-form__icon {
	display: block;
}

/* Placeholder holds exact search space so Archives doesn’t jump; size set in JS */
.site-header__search-placeholder {
	visibility: hidden;
	pointer-events: none;
	min-height: 48px;
	box-sizing: border-box;
}

/* -------------------------------------------------------------------------
   Search overlay — backdrop only (80% rich black, blur 10). Header search expands: container width, double height, centered.
   ------------------------------------------------------------------------- */
.search-overlay {
	position: fixed;
	inset: 0;
	z-index: 2000;
	background: rgba(0, 5, 30, 0.8); /* Rich black 80% */
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s var(--athought-header-transition-ease), visibility 0.25s;
}

.search-overlay.search-overlay--open {
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

/* Faster fade when closing (keep --open so overlay stays visible until we add this) */
.search-overlay.search-overlay--closing {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s var(--athought-header-transition-ease);
}

/* Header search expands when open — right edge fixed (right + width set by JS), grows left only; minimized uses left and grows centered. */
.site-header__search.site-header__search--expanded {
	position: fixed;
	max-width: none; /* override base 150px so inline width can grow */
	box-sizing: border-box;
	padding: 40px;
	border-width: 4px;
	z-index: 2001;
	backface-visibility: hidden;
	transform: translateZ(0); /* own layer to avoid end-of-animation paint jerk */
	transition: height 0.5s var(--athought-header-transition-ease),
	            width 0.5s var(--athought-header-transition-ease),
	            padding 0.5s var(--athought-header-transition-ease),
	            border-width 0.5s var(--athought-header-transition-ease),
	            left 0.5s var(--athought-header-transition-ease),
	            transform 0.25s var(--athought-header-transition-ease),
	            opacity 0.5s var(--athought-header-transition-ease);
	overflow: visible;
	-webkit-font-smoothing: antialiased;
}

/* Faster return: shorten transitions, same ease; fade out so cleanup jerk is hidden */
.site-header__search.site-header__search--closing {
	transition-duration: 0.28s;
	transition-timing-function: var(--athought-header-transition-ease);
	transition-property: height, width, padding, border-width, left, opacity;
	transform: none;
	opacity: 0;
}

.site-header__search .search-form__field {
	transition: font-size 0.5s var(--athought-header-transition-ease);
}

.site-header__search.site-header__search--expanded .search-form__field {
	font-size: 30px;
	color: var(--athought-color-text);
	transition-duration: 0.45s; /* slightly shorter so content settles with box */
}

.site-header__search.site-header__search--expanded .search-form__field::placeholder {
	color: var(--athought-color-meta);
}

.site-header__search.site-header__search--expanded .search-form__icon {
	width: 38px;
	height: 38px;
}

/* Full state: default — full width, explicit height so transition to minimized animates smoothly */
.site-header.header--full .site-header__inner {
	width: 100%;
	height: var(--athought-header-height-full);
	min-height: var(--athought-header-height-full);
	padding: var(--athought-header-padding-top) 0 var(--athought-header-padding-bottom-full);
}

/* Minimized state: same grid structure and alignment (no justify flip) so Archives + search don’t jerk; only size/gap transition */
/* Tablet widths with full header: extra inner padding left/right; includes iPad mini landscape (1133px) */
@media (min-width: 1025px) and (max-width: 1280px) {
	.site-header.header--full .site-header__inner,
	.site-header.header--minimized .site-header__inner {
		padding-left: 15px;
		padding-right: 15px;
	}
}

.site-header.header--minimized .site-header__inner {
	width: var(--header-inner-width, 100%);
	height: var(--athought-header-height-minimized);
	min-height: 0;
	padding: 0;
	overflow: visible;
	align-items: center;
	gap: var(--athought-header-minimized-gap-logo);
}

.site-header.header--minimized .main-navigation--left .primary-menu {
	gap: var(--athought-header-minimized-gap-inner);
}

.site-header.header--minimized .site-header__right {
	gap: var(--athought-header-minimized-gap-inner);
}

.main-navigation--left,
.site-header__right {
	transition: transform var(--athought-header-transition-duration) var(--athought-header-transition-ease) var(--athought-header-transition-delay);
}

.site-header.header--full .main-navigation--left,
.site-header.header--full .site-header__right {
	transform: translateX(0);
}

.site-header.header--minimized .main-navigation--left {
	overflow: hidden;
	transform: translateX(var(--header-nav-translate, 0));
}

.site-header.header--minimized .site-header__right {
	transform: translateX(var(--header-right-translate, 0));
}

.site-header.header--minimized .site-branding .site-title__link svg,
.site-header.header--minimized .site-branding .site-title__link img {
	height: var(--athought-header-logo-height-minimized);
	width: auto;
}

/* Minimized: header text 14px, search box padding 5px 10px */
.site-header.header--minimized .main-navigation--left a,
.site-header.header--minimized .site-header__archives {
	font-size: 14px;
}

.site-header.header--minimized .site-header__search {
	padding: 5px 10px;
}

/* Minimized: Rich black 80% background + uniform backdrop blur on main container */
.site-header.header--minimized {
	background: rgba(0, 5, 30, 0.8); /* Rich black 80% */
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}

/* -------------------------------------------------------------------------
   Main navigation (generic, e.g. other templates)
   ------------------------------------------------------------------------- */
.main-navigation ul:not(.primary-menu) {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: calc(2 * var(--athought-space-unit));
}

.main-navigation a {
	display: block;
	padding: calc(1 * var(--athought-space-unit)) 0;
	color: var(--athought-color-text);
	text-decoration: none;
	font-size: 0.9375rem;
}

.main-navigation a:hover,
.main-navigation a:focus {
	text-decoration: none; /* Animated underline via ::after on header/footer Caribbean links */
}

/* -------------------------------------------------------------------------
   Main content area (for later templates)
   ------------------------------------------------------------------------- */
#main {
	flex: 1;
	max-width: var(--athought-container-max);
	width: 100%;
	margin: 0 auto;
	padding: var(--athought-vertical-spacing) var(--athought-gutter);
	box-sizing: border-box;
}

/* -------------------------------------------------------------------------
   Intro section (about + social)
   ------------------------------------------------------------------------- */
.intro-section {
	width: 100%;
	max-width: var(--athought-container-max);
	height: 110px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	padding: 0 var(--athought-gutter);
	display: flex;
	align-items: stretch;
	position: relative;
	overflow: visible;
}

.intro-section__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	column-gap: 30px;
	row-gap: calc(2 * var(--athought-space-unit));
	width: 100%;
	max-width: var(--athought-container-max);
	margin: 0 auto;
	min-height: 0;
}

/* Shockwave: invisible at init, fade in then expand; max 1.5s per ring; all start together, duration varies per ring */
@keyframes intro-shockwave {
	0% {
		transform: translate(-50%, -50%) scale(0);
		opacity: 0;
	}
	8% {
		transform: translate(-50%, -50%) scale(0.08);
		opacity: 0.38;
	}
	30% {
		transform: translate(-50%, -50%) scale(0.45);
		opacity: 0.5;
	}
	60% {
		transform: translate(-50%, -50%) scale(0.95);
		opacity: 0.4;
	}
	85% {
		transform: translate(-50%, -50%) scale(1.4);
		opacity: 0.15;
	}
	100% {
		transform: translate(-50%, -50%) scale(1.6);
		opacity: 0;
	}
}

.intro-section__visual {
	margin-left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: visible;
}

/* Wrapper matches image so shockwaves are centered on the image */
.intro-section__visual-inner {
	position: relative;
	display: inline-block;
}

/* Subtle center glow — toned down */
.intro-section__center-glow {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 56px;
	height: 56px;
	transform: translate(-50%, -50%);
	z-index: 0;
	border-radius: 50%;
	background: radial-gradient(
		circle at 50% 50%,
		rgba(0, 41, 255, 0.2) 0%,
		rgba(0, 41, 255, 0.08) 50%,
		transparent 100%
	);
	pointer-events: none;
}

.intro-section__shockwave {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 230px;
	height: 230px;
	transform: translate(-50%, -50%);
	transform-origin: 50% 50%;
	-webkit-transform-origin: 50% 50%;
	z-index: 0;
	/* Sharp thin ring */
	background-image: radial-gradient(
		circle at 50% 50%,
		transparent 27%,
		rgba(0, 41, 255, 0.28) 29%,
		rgba(0, 41, 255, 0.32) 30%,
		rgba(0, 41, 255, 0.28) 31%,
		transparent 33%
	);
	background-size: 100% 100%;
	background-position: center;
	background-repeat: no-repeat;
	/* Sequential; every other ring 0.2s shorter; slower pace; Expo ease-out */
	animation: intro-shockwave var(--shockwave-duration, 2.5s) cubic-bezier(0.16, 1, 0.3, 1) infinite;
	pointer-events: none;
	/* Soft edge fade */
	-webkit-mask-image: radial-gradient(circle, black 70%, rgba(0, 0, 0, 0.88) 90%, transparent 100%);
	mask-image: radial-gradient(circle, black 70%, rgba(0, 0, 0, 0.88) 90%, transparent 100%);
	-webkit-mask-size: 100% 100%;
	mask-size: 100% 100%;
	-webkit-mask-position: center;
	mask-position: center;
}

/* Sequential: 0.4s between each; odd rings 2.6s, even rings 2.4s (0.2s less) */
.intro-section__shockwave--1 { --shockwave-duration: 2.6s; animation-delay: 0s; }
.intro-section__shockwave--2 { --shockwave-duration: 2.4s; animation-delay: 0.4s; }
.intro-section__shockwave--3 { --shockwave-duration: 2.6s; animation-delay: 0.8s; }
.intro-section__shockwave--4 { --shockwave-duration: 2.4s; animation-delay: 1.2s; }
.intro-section__shockwave--5 { --shockwave-duration: 2.6s; animation-delay: 1.6s; }
.intro-section__shockwave--6 { --shockwave-duration: 2.4s; animation-delay: 2s; }
.intro-section__shockwave--7 { --shockwave-duration: 2.6s; animation-delay: 2.4s; }
.intro-section__shockwave--8 { --shockwave-duration: 2.4s; animation-delay: 2.8s; }

/* Face image: 79px wide, height proportional, centered horizontally */
.intro-section__visual img {
	position: relative;
	z-index: 1;
	display: block;
	width: 79px;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	margin-inline: auto;
}

.intro-section__about {
	margin-left: 0;
	max-width: 560px;
	padding: calc(2 * var(--athought-space-unit)) calc(3 * var(--athought-space-unit)) calc(2 * var(--athought-space-unit)) 0;
	background: transparent;
	min-width: 0;
}

.intro-section__text {
	margin: 0;
	color: var(--athought-color-meta); /* Cerulean Frost */
	font-size: 14px;
	line-height: 1.5;
}

.intro-section__read-more {
	position: relative;
	display: inline-block;
	padding-bottom: var(--athought-underline-gap);
	color: var(--athought-color-link);
	text-decoration: none;
}

.intro-section__read-more::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.intro-section__read-more:hover,
.intro-section__read-more:focus {
	color: var(--athought-color-link-hover);
	text-decoration: none;
}

.intro-section__read-more:hover::after,
.intro-section__read-more:focus::after {
	transform: scaleX(1);
}

.intro-section__read-more:focus-visible {
	outline: 2px solid var(--athought-color-link);
	outline-offset: 2px;
}

.intro-section__social {
	margin-right: 0;
	padding: calc(2 * var(--athought-space-unit)) 0 calc(2 * var(--athought-space-unit)) calc(3 * var(--athought-space-unit));
	background: transparent;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.intro-section__icons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.intro-section__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	color: var(--athought-color-heading);
	text-decoration: none;
	font-size: 0.75rem;
	font-weight: 600;
	transition: background 0.2s, color 0.2s, transform 0.2s;
	position: relative;
}

.intro-section__icon-svg {
	display: block;
	width: 25px;
	height: 25px;
	line-height: 0;
}

.intro-section__icon-svg svg {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

@media (max-width: 640px) {
	.intro-section {
		height: auto;
		min-height: 110px;
		width: calc(100% - 30px);
		margin-left: 15px;
		margin-right: 15px;
		padding: calc(2 * var(--athought-space-unit)) var(--athought-gutter);
	}

	.intro-section__inner {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		gap: calc(2 * var(--athought-space-unit));
	}

	.intro-section__visual {
		order: -1;
	}

	.intro-section__visual img {
		max-height: 80px;
		width: auto;
	}

	.intro-section__about {
		order: 0;
		padding-right: 0;
		text-align: center;
	}

	.intro-section__social {
		order: 1;
		margin-right: 0;
		padding-left: 0;
		justify-content: center;
	}
}

/* Tablet and large mobile: 768px and below */
@media (max-width: 768px) {
	/* Single post/page: aligned images — keep wrapping on mobile at 25% width */
	.entry-content figure.wp-block-image.alignleft,
	.entry-content .wp-block-image.alignleft {
		float: left;
		width: 25%;
		max-width: 25%;
		margin-top: 10px;
		margin-right: 15px;
		margin-bottom: 15px;
		margin-left: 0;
	}

	.entry-content figure.wp-block-image.alignright,
	.entry-content .wp-block-image.alignright {
		float: right;
		width: 25%;
		max-width: 25%;
		margin-top: 10px;
		margin-right: 0;
		margin-bottom: 15px;
		margin-left: 15px;
	}

	.entry-content figure.wp-block-image.alignleft img,
	.entry-content .wp-block-image.alignleft img,
	.entry-content figure.wp-block-image.alignright img,
	.entry-content .wp-block-image.alignright img {
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	/* Single post/page: image captions — slightly smaller type and tighter line-height on mobile */
	.entry-content figure.wp-block-image figcaption,
	.entry-content .wp-block-image figcaption {
		font-size: 14px;
		line-height: 24px;
	}

	.entry-content .wp-block-embed figcaption,
	.entry-content .wp-block-embed__caption {
		font-size: 14px;
		line-height: 24px;
	}

	.about-hero {
		padding-top: calc(4 * var(--athought-space-unit));
		padding-bottom: calc(5 * var(--athought-space-unit));
	}

	.about-hero__inner {
		grid-template-columns: 1fr;
		text-align: left;
	}

	.about-hero__media {
		justify-self: center;
		max-width: 360px;
	}

	/* Intro: single column so first paragraphs stack vertically */
	.about-intro {
		column-count: 1;
	}

	.about-blocks {
		grid-template-columns: 1fr;
		gap: calc(5 * var(--athought-space-unit));
	}

	.about-main__social {
		max-width: 420px;
		margin-left: auto;
		margin-right: auto;
	}

	/* Reach page — mobile (stacked layout) */
	.reach-hero {
		padding-top: calc(4 * var(--athought-space-unit));
		padding-bottom: calc(6 * var(--athought-space-unit));
		margin-top: calc(-0.5 * var(--athought-vertical-spacing));
	}

	.reach-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: calc(3 * var(--athought-space-unit));
	}

	.reach-hero__title {
		font-size: 80px;
		line-height: 0.9em;
	}

	.reach-hero__media {
		justify-self: flex-start;
		max-width: 320px;
		width: 100%;
		margin-right: 0;
		margin-top: 0;
	}

	.reach-hero__image {
		width: 100%;
		height: auto;
		max-width: 100%;
	}

	.reach-intro__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: calc(3 * var(--athought-space-unit));
	}

	.reach-intro__social-list {
		gap: calc(2 * var(--athought-space-unit));
	}

	.reach-intro__social-icon {
		min-width: 140px;
	}

	/* Mobile: no gap above "Drop in a thought" */
	.reach-contact__header {
		margin-top: 0;
	}

	.reach-contact__form {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 20px;
		padding-left: 0;
		padding-right: 0;
	}

	.reach-contact__form .comment-form-comment {
		grid-column: 1;
		grid-row: auto;
	}

	.reach-contact__form .comment-form-right-column {
		grid-column: 1;
		grid-row: auto;
		min-height: 0;
		height: auto;
		flex-direction: column;
		gap: 20px;
		justify-content: flex-start;
	}

	.reach-contact__form .comment-form-comment textarea {
		width: 100%;
		height: 220px;
		min-height: 220px;
	}

	.reach-contact__disclaimers {
		font-size: 13px;
	}
}

You have reached the maximum tool output length. Further output may have been truncated.*** End Patch} 由 to=functions.ApplyPatch Македонииahịaassistantច្ឝcommentary to=functions.Read ніш】!【assistant to=functions.ApplyPatchորմ commentary ＿久久爱*** Begin Patch

/* Hover: blue background, Caribbean green icon, double size */
.intro-section__icon:hover,
.intro-section__icon:focus {
	background: var(--athought-color-subheading);
	color: var(--athought-color-link);
	transform: scale(2);
}

/* Active: Caribbean green background, blue icon (currentColor) */
.intro-section__icon:active,
.intro-section__icon:hover:active {
	background: var(--athought-color-link);
	color: var(--athought-color-subheading);
}

.intro-section__icon-label {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
}

/* Default icon color (currentColor) and background — applies to all four social icons */
.social-link--behance {
	background: #ffffff;
	color: #000;
}
.social-link--dribbble {
	background: #EA4C89;
	color: #fff;
}
.social-link--linkedin {
	background: #007EBB;
	color: #fff;
}
.social-link--instagram {
	background: linear-gradient(45deg, #FAAD4F 14.61%, #DD2A7B 39.38%, #9537B0 58.49%, #515BD4 85.39%);
	color: #fff;
}

/* -------------------------------------------------------------------------
   Front page: featured + list + More Articles
   ------------------------------------------------------------------------- */
.front-page__featured {
	margin-bottom: var(--athought-vertical-spacing);
}

/* Full-bleed list container: edge-to-edge background and dividers, content same max-width as page */
/* Dashed line above More Articles: 1px, 12px dash / 12px gap, Cerulean Frost 30%, 60px margin above/below */
.front-page__dashed-line {
	width: 100%;
	max-width: var(--athought-container-max);
	margin: 60px auto;
	padding: 0 var(--athought-gutter);
	box-sizing: border-box;
	height: 1px;
	background: repeating-linear-gradient(
		to right,
		rgba(107, 158, 190, 0.3) 0,
		rgba(107, 158, 190, 0.3) 12px,
		transparent 12px,
		transparent 24px
	);
}

.front-page__list-bleed {
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	background: var(--athought-bg);
}

.front-page__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.front-page__list li {
	position: relative;
	border-bottom: 1px solid var(--athought-color-border);
}

/* Cross-dissolve background via pseudo-element (z-index 0 so it sits above list-bleed, content stays on top) */
.front-page__list li::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-color: var(--athought-bg-list-item-hover);
	opacity: 0;
	transition: opacity var(--athought-transition-duration) var(--athought-ease-gentle),
	            background-color var(--athought-transition-duration) var(--athought-ease-gentle);
}

.front-page__list li:hover::before {
	opacity: 1;
}

.front-page__list li:active::before {
	opacity: 1;
	background-color: var(--athought-bg-list-item-active);
}

.front-page__list li:last-child {
	border-bottom: none;
}

.front-page__list-item-inner {
	position: relative;
	z-index: 1;
	max-width: var(--athought-container-max);
	margin: 0 auto;
	padding: 0 var(--athought-gutter);
	box-sizing: border-box;
}

.front-page__more-wrap {
	margin-top: var(--athought-vertical-spacing);
}

/* Scroll-fade: content below header/first post fades in as it enters viewport (homepage only). */
.scroll-fade-item {
	opacity: 0;
	transform: translateY(25px);
	transition: opacity 0.5s var(--athought-ease-gentle), transform 0.5s var(--athought-ease-gentle);
}

.scroll-fade-item.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.scroll-fade-item {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

.front-page__more-header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--athought-space-unit);
	margin-bottom: calc(2 * var(--athought-space-unit));
}

.front-page__more-heading {
	margin: 0;
	font-family: var(--athought-font-heading);
	font-size: 50px;
	letter-spacing: -0.05em;
	font-weight: 400;
	color: var(--athought-color-subheading);
}

.front-page__more-see-all {
	position: relative;
	display: inline-block;
	padding-bottom: var(--athought-underline-gap);
	font-family: var(--athought-font-sans); /* Geologica */
	font-size: 14px;
	color: var(--athought-color-link); /* Caribbean Green */
	text-decoration: none;
}

.front-page__more-see-all::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.front-page__more-see-all:hover,
.front-page__more-see-all:focus {
	color: var(--athought-color-link-hover);
}

.front-page__more-see-all:hover::after,
.front-page__more-see-all:focus::after {
	transform: scaleX(1);
}

/* Link after list: visible on mobile only (see Responsive) */
.front-page__more-see-all-after {
	display: none;
}

/* Featured card: meta → title → image → excerpt → Continue reading */
.featured-card {
	margin: 0;
}

.featured-card__top {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: calc(2 * var(--athought-space-unit));
}

.featured-card__lead {
	font-size: 16px;
	letter-spacing: -0.05em;
	color: var(--athought-color-meta-line);
	flex-shrink: 0;
}

.featured-card__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	font-size: 16px;
	letter-spacing: -0.05em;
	color: var(--athought-color-meta);
	flex-shrink: 0;
}

.featured-card__meta-segment {
	display: inline-flex;
	align-items: baseline;
	gap: 0.25em;
	padding: 0 15px;
}

.featured-card__meta-icon {
	color: var(--athought-color-link);
	font-weight: 600;
}

.featured-card__meta-segment--date .featured-card__meta-icon {
	color: var(--athought-color-subheading);
}

.featured-card__meta-text {
	color: var(--athought-color-meta);
}

.featured-card__meta-sep {
	color: var(--athought-color-meta-line);
	margin: 0;
	font-weight: 400;
}

.featured-card__rule {
	flex: 1;
	min-width: 2rem;
	margin: 0;
	border: 0;
	border-top: 1px solid var(--athought-color-meta-line);
}

.featured-card__meta-link {
	color: var(--athought-color-meta);
	text-decoration: none;
	transition: color var(--athought-transition-duration) ease;
}

.featured-card__meta-link:hover,
.featured-card__meta-link:focus {
	color: var(--athought-color-link);
}

.featured-card__header {
	margin-bottom: calc(3 * var(--athought-space-unit));
}

/* No featured image: 30px gap between title and content */
.featured-card:not(.has-post-thumbnail) .featured-card__header {
	margin-bottom: 30px;
}

.featured-card__title {
	margin: 0;
	font-family: var(--athought-font-heading);
	font-size: 80px;
	letter-spacing: -0.05em;
	font-weight: 400;
	line-height: 1.2;
	color: var(--athought-color-heading);
}

.featured-card__title a {
	color: var(--athought-color-heading);
	text-decoration: none;
	transition: color 0.15s ease;
}

.featured-card__title a:hover,
.featured-card__title a:focus {
	color: var(--athought-color-link-hover);
}

/* Featured image: full viewport width, height scales with proportion */
.featured-card__image-link {
	display: block;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-bottom: calc(4 * var(--athought-space-unit));
	overflow: hidden;
	position: relative;
}

.featured-card__image-wrap {
	display: block;
	position: relative;
}

.featured-card__image {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: middle;
}

/* Overlay: bottom ~60% of image, full width; Rich Black gradient (0% opacity at top → 100% at bottom); progressive backdrop blur via ::before (strongest 30px at bottom) */
.featured-card__image-overlay {
	position: absolute;
	inset: auto 0 0 0;
	width: 100%;
	height: 60%;
	pointer-events: none;
	background: linear-gradient(
		to top,
		rgba(0, 5, 30, 1) 0%,
		rgba(0, 5, 30, 0.98) 8%,
		rgba(0, 5, 30, 0.85) 25%,
		rgba(0, 5, 30, 0.6) 45%,
		rgba(0, 5, 30, 0.3) 70%,
		rgba(0, 5, 30, 0) 100%
	);
}

/* Progressive backdrop blur: 30px at bottom of overlay, fading to 0 at top */
.featured-card__image-overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	-webkit-backdrop-filter: blur(30px);
	backdrop-filter: blur(30px);
	mask-image: linear-gradient(to top, black, transparent);
	-webkit-mask-image: linear-gradient(to top, black, transparent);
	pointer-events: none;
}

.featured-card__body {
	position: relative;
	z-index: 1;
	margin: -100px 0 0;
}

/* No featured image: body sits below title with no overlap */
.featured-card:not(.has-post-thumbnail) .featured-card__body {
	margin-top: 0;
}

.featured-card__summary-row {
	display: flex;
	align-items: flex-start;
	gap: 15px;
}

.featured-card__summary-main {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	max-width: 750px;
	width: 100%;
}

.featured-card__summary-tag {
	display: inline-block;
	padding: 10px 15px;
	margin: 0;
	border-radius: 15px;
	border: 1px solid rgba(107, 158, 190, 0.3); /* Cerulean Frost 30% */
	background-color: rgba(107, 158, 190, 0.05); /* Cerulean Frost 5% */
	color: var(--athought-color-meta); /* Cerulean Frost 100% */
	font-size: 14px;
	line-height: 1.4;
}

.featured-card__excerpt {
	margin: 0 0 30px;
	font-size: 20px;
	line-height: 38px;
	color: var(--athought-color-text);
}

.featured-card__excerpt p {
	margin: 0 0 1em;
}

.featured-card__excerpt p:first-child {
	margin-top: 0;
}

.featured-card__excerpt p:last-child {
	margin-bottom: 0;
}

.featured-card__link {
	position: relative;
	display: inline-block;
	align-self: flex-start;
	padding-bottom: var(--athought-underline-gap);
	font-size: 20px;
	color: var(--athought-color-link);
	font-weight: 400;
	text-decoration: none;
}

.featured-card__link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.featured-card__link:hover,
.featured-card__link:focus {
	color: var(--athought-color-link-hover);
}

.featured-card__link:hover::after,
.featured-card__link:focus::after {
	transform: scaleX(1);
}

/* List item: whole row is one link; large title left, meta right, bottom-aligned */
.list-item {
	margin: 0;
}

.list-item__link {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: calc(3 * var(--athought-space-unit));
	padding: calc(2 * var(--athought-space-unit)) 0;
	text-decoration: none;
	color: inherit;
	transition: color var(--athought-transition-duration) var(--athought-ease-gentle);
}

.list-item__title {
	margin: 0;
	font-family: var(--athought-font-heading);
	font-size: 30px;
	font-weight: 400;
	letter-spacing: -0.05em;
	flex: 1;
	transition: color 0.15s ease;
	min-width: 0;
	color: var(--athought-color-heading);
	line-height: 1.15;
	transition: color var(--athought-transition-duration) var(--athought-ease-gentle);
}

/* Row hover: full-width background, title and meta colors */
.front-page__list li:hover .list-item__title {
	color: var(--athought-color-list-item-title-hover);
}

.front-page__list li:hover .list-item__meta,
.front-page__list li:hover .list-item__meta-icon,
.front-page__list li:hover .list-item__meta-text {
	color: var(--athought-color-list-item-meta-hover);
}

/* Row active (pressed): darker background + darker title/meta */
.front-page__list li:active .list-item__title {
	color: var(--athought-color-list-item-title-active);
}

.front-page__list li:active .list-item__meta,
.front-page__list li:active .list-item__meta-icon,
.front-page__list li:active .list-item__meta-text {
	color: var(--athought-color-list-item-meta-active);
}

.list-item__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	font-family: var(--athought-font-sans);
	font-size: 14px;
	letter-spacing: -0.02em;
	color: var(--athought-color-meta);
	flex-shrink: 0;
	transition: color var(--athought-transition-duration) var(--athought-ease-gentle);
}

.list-item__meta-segment {
	display: inline-flex;
	align-items: baseline;
	gap: 0.25em;
}

.list-item__meta-icon {
	color: var(--athought-color-link);
	font-weight: 600;
	transition: color var(--athought-transition-duration) var(--athought-ease-gentle);
}

.list-item__meta-segment--date .list-item__meta-icon {
	color: var(--athought-color-subheading);
}

.list-item__meta-text {
	color: var(--athought-color-meta);
	transition: color var(--athought-transition-duration) var(--athought-ease-gentle);
}

.list-item__meta-sep {
	width: 0;
	overflow: hidden;
	margin: 0;
	color: var(--athought-color-meta-line);
}

/* -------------------------------------------------------------------------
   Archives (Years) page — title 120px; listing uses More Articles styling
   Gap between listing and footer: 90px (from #main padding only).
   ------------------------------------------------------------------------- */
.archives-years {
	padding-bottom: 0;
}

/* Don’t grow main to fill viewport when there’s little content (e.g. one month) */
#main.archives-years {
	flex: 0 1 auto;
}

.archives-years__header {
	margin-bottom: 0;
}

.archives-years__title {
	margin: 0;
	font-family: var(--athought-font-heading);
	font-size: 120px;
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 1.1;
	color: var(--athought-color-meta);
}

/* First year section: tighter top margin below main title */
.archives-years .front-page__more-wrap:first-of-type {
	margin-top: calc(4 * var(--athought-space-unit));
}

.archives-years__empty {
	margin: 0;
	color: var(--athought-color-meta);
}

/* -------------------------------------------------------------------------
   Year archive page — title = year (120px), sub-headings = months, list = More Articles style
   ------------------------------------------------------------------------- */
.archive-year {
	padding-bottom: 0;
}

#main.archive-year {
	flex: 0 1 auto;
}

.archive-year__header {
	margin-bottom: 0;
}

.archive-year__title {
	margin: 0;
	font-family: var(--athought-font-heading);
	font-size: 120px;
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 1.1;
	color: var(--athought-color-meta);
}

.archive-year .front-page__more-wrap:first-of-type {
	margin-top: calc(4 * var(--athought-space-unit));
}

.archive-year__empty {
	margin: 0;
	color: var(--athought-color-meta);
}

/* -------------------------------------------------------------------------
   Month archive page — title = month + year, link = See more from this year, list = More Articles style
   ------------------------------------------------------------------------- */
.archive-month {
	padding-bottom: 0;
}

#main.archive-month {
	flex: 0 1 auto;
}

.archive-month__header {
	margin-bottom: 0;
}

.archive-month__title-row {
	margin-bottom: 0;
}

.archive-month__title {
	margin: 0;
	font-family: var(--athought-font-heading);
	font-size: 120px;
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 1.1;
	color: var(--athought-color-meta);
}

.archive-month .front-page__more-wrap:first-of-type,
.archive-month .posts-list--featured-cards {
	margin-top: calc(4 * var(--athought-space-unit));
}

.archive-month__empty {
	margin: 0;
	color: var(--athought-color-meta);
}

/* -------------------------------------------------------------------------
   Search results page — self-contained; does not affect archive listing
   ------------------------------------------------------------------------- */
.search-results {
	padding-bottom: 0;
}

#main.search-results {
	flex: 0 1 auto;
}

/* Empty search: prevent #page from filling viewport so gap above footer is only 90px */
body.search-results-empty #page {
	min-height: 0;
}

.search-results__header {
	margin-top: -90px;
	margin-bottom: 0;
}

.search-results__title {
	margin: 0;
	font-family: var(--athought-font-heading);
	font-size: 120px;
	font-weight: 400;
	letter-spacing: -0.05em;
	line-height: 1.1;
	color: var(--athought-color-meta);
}

/* Keyword: half the title size (title 120px → 60px) */
.search-results__keyword-count {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	margin: 0;
	gap: 0;
}

.search-results__query {
	margin: 0;
	font-size: 60px;
	line-height: 1.2;
	color: var(--athought-color-text);
}

.search-results__separator {
	margin: 0 30px;
	color: var(--athought-color-text);
}

.search-results__count {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--athought-color-text);
}

/* Highlight matched search keywords in results listing */
.search-results-highlight {
	background: var(--athought-color-subheading);
	border-radius: 10px;
	padding: 5px;
}

.search-results__list {
	display: flex;
	flex-direction: column;
	gap: calc(var(--athought-vertical-spacing) + 60px);
	margin-top: 60px;
}

.search-results__list + .navigation.pagination,
.search-results__list + .nav-links {
	margin-top: calc(var(--athought-vertical-spacing) + 60px);
	border-top: none;
}

.search-results__empty {
	margin: 0;
	color: var(--athought-color-meta);
}

/* Empty search state: centered title, image, and "Try again" text */
.search-results__header--empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding-bottom: 90px;
}

.search-results__header--empty .search-results__title--empty {
	/* Same title styling; text is "Gotta type them keywords first." */
}

.search-results__error-face {
	display: block;
	position: relative;
	z-index: 1;
	height: 469px;
	width: auto;
	margin-top: -120px;
	margin-bottom: -120px;
}

/* Archivo Black, Water, 3/4 of heading size (120px → 90px) */
.search-results__try-again {
	margin: calc(2 * var(--athought-space-unit)) 0 0;
	font-family: var(--athought-font-heading);
	font-size: 90px;
	line-height: 1.2;
	color: var(--athought-color-text);
}

/* -------------------------------------------------------------------------
   Archive / category / tag (ID-8): context heading
   ------------------------------------------------------------------------- */
.archive-header {
	margin-bottom: calc(4 * var(--athought-space-unit));
}

.archive-header__title {
	margin: 0 0 calc(1 * var(--athought-space-unit));
	font-family: var(--athought-font-heading);
	font-size: 1.25rem;
	font-weight: 400;
	color: var(--athought-color-heading);
}

.archive-header + .posts-list--archive-cards {
	margin-top: 0;
}

/* -------------------------------------------------------------------------
   Home / posts list (ID-7): featured cards + pagination
   ------------------------------------------------------------------------- */
/* Article listing: same card as homepage (meta → image → summary → Continue reading). Desktop: 90px + 60px extra between posts. */
.posts-list--featured-cards {
	display: flex;
	flex-direction: column;
	gap: calc(var(--athought-vertical-spacing) + 60px);
}

/* Gap between posts list and pagination matches list gap */
.posts-list--featured-cards + .navigation.pagination {
	margin-top: calc(var(--athought-vertical-spacing) + 60px);
}

.posts-list--featured-cards + .nav-links {
	margin-top: calc(var(--athought-vertical-spacing) + 60px);
	padding-top: 0;
	border-top: none;
}

/* Archive / category views: compact archive cards with summary. Desktop: 40px + 60px extra between posts. */
.posts-list--archive-cards {
	display: flex;
	flex-direction: column;
	gap: calc(5 * var(--athought-space-unit) + 60px);
}

.posts-list--archive-cards + .nav-links {
	margin-top: calc(5 * var(--athought-space-unit) + 60px);
	padding-top: calc(4 * var(--athought-space-unit));
	border-top: 1px solid var(--athought-color-border);
}

.archive-card__summary-row {
	display: flex;
	align-items: flex-start;
	gap: 15px;
}

.archive-card__summary-tag {
	display: inline-block;
	padding: 10px 15px;
	margin: 0;
	border-radius: 15px;
	border: 1px solid rgba(107, 158, 190, 0.3); /* Cerulean Frost 30% */
	background-color: rgba(107, 158, 190, 0.05); /* Cerulean Frost 5% */
	color: var(--athought-color-meta); /* Cerulean Frost 100% */
	font-size: 14px;
	line-height: 1.4;
}

.archive-card__excerpt {
	max-width: 750px;
	width: 100%;
}

.archive-card__excerpt p {
	margin: 0 0 1em;
}

.archive-card__excerpt p:first-child {
	margin-top: 0;
}

.archive-card__excerpt p:last-child {
	margin-bottom: 0;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--athought-space-unit);
}

.nav-links a,
.nav-links .current {
	padding: calc(1 * var(--athought-space-unit)) calc(2 * var(--athought-space-unit));
}

.nav-links .current {
	font-weight: 600;
}

/* Posts list pagination: Geologica 16px, Caribbean green, 30px gap/vertical padding, dashed border */
.navigation.pagination {
	padding-block: 30px;
	border-top: none;
	border-bottom: none;
	/* Dashed border with more spread-out dashes (Cerulean Frost 50%) */
	--athought-pagination-dash: rgba(107, 158, 190, 0.5);
	background-image:
		repeating-linear-gradient(90deg, var(--athought-pagination-dash) 0, var(--athought-pagination-dash) 16px, transparent 16px, transparent 36px),
		repeating-linear-gradient(90deg, var(--athought-pagination-dash) 0, var(--athought-pagination-dash) 16px, transparent 16px, transparent 36px);
	background-size: 100% 1px;
	background-position: 0 0, 0 100%;
	background-repeat: repeat-x;
}

.navigation.pagination .nav-links {
	font-family: var(--athought-font-sans);
	font-size: 16px;
	color: var(--athought-color-link);
	gap: 30px;
	text-shadow: 0 0 12px rgba(0, 201, 131, 0.4);
}

.navigation.pagination .nav-links a,
.navigation.pagination .nav-links .current {
	color: inherit;
	text-decoration: none;
	padding: calc(1 * var(--athought-space-unit)) calc(2 * var(--athought-space-unit));
}

.navigation.pagination .nav-links a {
	position: relative;
	padding-bottom: var(--athought-underline-gap);
}

.navigation.pagination .nav-links a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.navigation.pagination .nav-links a:hover,
.navigation.pagination .nav-links a:focus {
	color: var(--athought-color-link-hover);
	text-shadow: 0 0 14px rgba(0, 201, 131, 0.6);
}

.navigation.pagination .nav-links a:hover::after,
.navigation.pagination .nav-links a:focus::after {
	transform: scaleX(1);
}

.navigation.pagination .nav-links .current {
	font-weight: 600;
	color: var(--athought-color-text); /* Water */
	background: rgba(0, 41, 255, 0.5); /* Blue 50% */
	border: 1px solid var(--athought-color-subheading);
	border-radius: 15px;
	padding: calc(1 * var(--athought-space-unit)) calc(2 * var(--athought-space-unit));
}

/* Pagination arrow icons: match 16px text size, align with numbers */
.navigation.pagination .nav-links a.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.navigation.pagination .nav-links a.page-numbers svg {
	width: 24px;
	height: 24px;
	display: block;
}

/* -------------------------------------------------------------------------
   Single post & page (ID-9)
   ------------------------------------------------------------------------- */
/* Single post/page featured image: full viewport width, height proportional */
.single-post__image,
.single-page__image {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-bottom: calc(4 * var(--athought-space-unit));
	overflow: hidden;
}

.single-post__thumbnail,
.single-page__thumbnail {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: middle;
}

/* Share bar (single post, below featured image) */
.share-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: calc(2 * var(--athought-space-unit));
	margin-bottom: calc(4 * var(--athought-space-unit));
	padding: 0 30px 30px;
	border-bottom: 1px solid var(--athought-color-subheading);
}

.share-bar__label {
	font-family: var(--athought-font-sans);
	font-size: 20px;
	color: var(--athought-color-text);
}

.share-bar__list {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.share-bar__item {
	margin: 0;
}

.share-bar__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	color: #fff;
	text-decoration: none;
	position: relative;
	z-index: 0;
	transition: background 0.2s, color 0.2s, transform 0.2s;
}

.share-bar__link:hover,
.share-bar__link:focus {
	z-index: 1;
}

.share-bar__link--facebook {
	background: #1877F2;
}

.share-bar__link--twitter {
	background: #fff;
	color: #1C1C1B;
}

.share-bar__link--whatsapp {
	background: #00E510;
	color: #fff;
}

/* Hover: blue background, Caribbean green icon, double size; stacked above neighbors */
.share-bar__link:hover,
.share-bar__link:focus {
	background: var(--athought-color-subheading);
	color: var(--athought-color-link);
	transform: scale(2);
}

/* Active: Caribbean green background, blue icon (same as intro section) */
.share-bar__link:active,
.share-bar__link:hover:active {
	background: var(--athought-color-link);
	color: var(--athought-color-subheading);
}

.share-bar__icon {
	display: block;
	width: 26px;
	height: 26px;
	line-height: 0;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}

.share-bar__icon svg {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

.share-bar__icon img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

.share-bar__icon--facebook {
	-webkit-mask-image: url('../images/facebook-share.svg');
	mask-image: url('../images/facebook-share.svg');
}

.share-bar__icon--twitter {
	-webkit-mask-image: url('../images/x-share.svg');
	mask-image: url('../images/x-share.svg');
}

.share-bar__icon--whatsapp {
	-webkit-mask-image: url('../images/whatsapp-share.svg');
	mask-image: url('../images/whatsapp-share.svg');
}

.single-post__header,
.single-page__header {
	margin-bottom: calc(4 * var(--athought-space-unit));
}

.single-post__title,
.single-page__title {
	margin: 0 0 calc(2 * var(--athought-space-unit));
	font-family: var(--athought-font-heading);
	font-size: 80px;
	letter-spacing: -0.05em;
	line-height: 1.3;
	font-weight: 400;
	color: var(--athought-color-heading);
}

/* Single post view only: title in Cerulean Frost (does not affect listing/cards) */
.single-post .single-post__title {
	color: var(--athought-color-meta);
}

/* Single post: meta row with lead + segments + rule (same visual language as featured-card) */
.single-post__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 calc(2 * var(--athought-space-unit));
	font-size: 16px;
	letter-spacing: -0.05em;
	color: var(--athought-color-meta);
}

.single-post__meta-lead {
	flex-shrink: 0;
}

.single-post__rule {
	flex: 1;
	min-width: 2rem;
	margin: 0;
	border: 0;
	border-top: 1px solid var(--athought-color-meta-line);
}

.single-post__date {
	color: var(--athought-color-meta);
}

.single-post__reading-time {
	color: var(--athought-color-meta);
}


/* Tags section below meta */
/* Tags row: same container as meta (lead + content + rule), tags as pills */
.single-post__tags-row .single-post__tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin: 0 0 0 15px;
}

.single-post__tags-row .single-post__tag-link {
	color: var(--athought-color-link); /* Caribbean green — overrides .entry-meta a */
}

.single-post__tag-link {
	display: inline-block;
	padding: 0.35em 0.75em;
	font-family: var(--athought-font-sans);
	font-size: 12px;
	color: var(--athought-color-link);
	text-decoration: none;
	background: rgba(0, 201, 131, 0.05);
	border: 1px solid rgba(0, 201, 131, 0.2);
	border-radius: 15px;
	box-shadow: 0 0 0 0 transparent;
	transition: background var(--athought-transition-duration) ease,
	            border-color var(--athought-transition-duration) ease,
	            box-shadow var(--athought-transition-duration) ease,
	            color var(--athought-transition-duration) ease;
}

.single-post__tag-link:hover,
.single-post__tag-link:focus {
	color: var(--athought-color-link-hover);
	background: rgba(0, 201, 131, 0.1);
	border-color: rgba(0, 201, 131, 0.35);
	box-shadow: 0 0 0 1px rgba(0, 201, 131, 0.35);
}

.single-page__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 16px;
	letter-spacing: -0.05em;
	color: var(--athought-color-meta);
}

.single-post__meta-lead,
.single-page__meta-lead {
	color: var(--athought-color-meta-line);
}

.single-post__meta-segment,
.single-page__meta-segment {
	display: inline-flex;
	align-items: baseline;
	gap: 0.25em;
	padding: 0 15px;
}

.single-post__meta-icon,
.single-page__meta-icon {
	color: var(--athought-color-link);
	font-weight: 600;
}

.single-post__meta-segment--date .single-post__meta-icon,
.single-page__meta-segment--date .single-page__meta-icon {
	color: var(--athought-color-subheading);
}

.single-post__meta-sep,
.single-page__meta-sep {
	color: var(--athought-color-meta-line);
	margin: 0;
}

.single-post__meta-link,
.single-page__meta-link {
	color: var(--athought-color-meta);
	text-decoration: none;
	transition: color var(--athought-transition-duration) ease;
}

.single-post__meta-link:hover,
.single-post__meta-link:focus,
.single-page__meta-link:hover,
.single-page__meta-link:focus {
	color: var(--athought-color-link);
}

.entry-meta a,
.cat-links a,
.tags-links a,
.posted-on a {
	color: var(--athought-color-meta);
	text-decoration: none;
	transition: color var(--athought-transition-duration) ease;
}

.entry-meta a:hover,
.entry-meta a:focus,
.cat-links a:hover,
.cat-links a:focus,
.tags-links a:hover,
.tags-links a:focus,
.posted-on a:hover,
.posted-on a:focus {
	color: var(--athought-color-link);
}

/* Single post content container: from featured image to before comments; 60px between components */
.single-post__content-container {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

/* Zero margins on content-container children so gap alone controls 60px spacing */
.single-post__content-container > * {
	margin-top: 0;
	margin-bottom: 0;
}

.single-post__content-container .single-post__image {
	margin-bottom: 0;
}

.single-post__content-container .share-bar {
	margin-top: 0;
	margin-bottom: 0;
}

/* Bottom share bar: border and padding on top */
.single-post__share-bar-bottom .share-bar {
	border-bottom: none;
	border-top: 1px solid var(--athought-color-subheading);
	padding-top: 90px;
	padding-bottom: 0;
	padding-left: 30px;
	padding-right: 30px;
}

/* Inner container: 60px gap between summary, components, footer, nav */
.single-post__body-container {
	display: flex;
	flex-direction: column;
	gap: 60px;
	padding-left: 15px;
	padding-right: 15px;
}

/* Zero margins on body-container children so gap alone controls 60px spacing */
.single-post__body-container > * {
	margin-top: 0;
	margin-bottom: 0;
}

.single-post__body-container .single-post__footer {
	padding-top: 0;
	border-top: none;
}


.single-post__summary {
	margin: 0;
	padding-bottom: 60px;
	background-image: repeating-linear-gradient(
		90deg,
		rgba(107, 158, 190, 0.2) 0,
		rgba(107, 158, 190, 0.2) 12px,
		transparent 12px,
		transparent 24px
	);
	background-size: 100% 1px;
	background-position: bottom;
	background-repeat: repeat-x;
}

.single-post__summary-title {
	margin: 0 0 15px;
	font-family: var(--athought-font-heading);
	font-size: 30px;
	color: var(--athought-color-meta);
}

.single-post__summary-content {
	margin: 0;
}

.single-post__summary-content p {
	margin: 0 0 1em;
	font-size: 16px;
	line-height: 26px;
	font-style: italic;
	color: rgba(202, 234, 255, 0.5);
}

.single-post__summary-content p:last-child {
	margin-bottom: 0;
}

/* About page (page-about.php) */
.about-page {
	padding-left: var(--athought-gutter);
	padding-right: var(--athought-gutter);
}

.about-hero {
	padding-top: calc(5 * var(--athought-space-unit));
	padding-bottom: calc(8 * var(--athought-space-unit));
}

/* Visually pull hero up on About page so it sits flush with site-main top edge */
.about-page .about-hero {
	margin-top: calc(-1 * var(--athought-vertical-spacing));
}

.about-hero__inner {
	max-width: var(--athought-container-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: center;
	gap: calc(6 * var(--athought-space-unit));
}

.about-hero__title {
	margin: 0;
	font-family: var(--athought-font-heading);
	font-size: 160px;
	letter-spacing: -0.05em;
	line-height: 0.8em;
	font-weight: 400;
	color: var(--athought-color-meta);
}

.about-hero__text {
	position: relative;
	z-index: 2;
}

.about-hero__media {
	position: relative;
	z-index: 1;
	justify-self: end;
	max-width: 420px;
}

.about-hero__image {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 32px;
	object-fit: cover;
}

.about-main {
	max-width: var(--athought-container-max);
	margin: 0 auto;
	padding-bottom: calc(8 * var(--athought-space-unit));
	display: flex;
	flex-direction: column;
	gap: calc(6 * var(--athought-space-unit));
}

.about-main > *:first-child {
	margin-top: 0;
}

/* Intro: content before the photo — two columns only */
.about-intro {
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: -0.03em;
	column-count: 2;
	column-gap: calc(5 * var(--athought-space-unit));
}

.about-intro > *:first-child {
	margin-top: 0;
}

.about-intro p {
	break-inside: avoid;
}

/* Full-width photograph section (full width of content container) */
.about-photo {
	width: 100%;
	max-width: 100%;
}

.about-photo .wp-block-image,
.about-photo figure {
	margin: 0;
	max-width: none;
}

.about-photo img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: middle;
	border-radius: 25px;
}

/* -------------------------------------------------------------------------
   Reach page — hero, intro, contact form
   ------------------------------------------------------------------------- */

.reach-page .site-main {
	padding-left: var(--athought-gutter);
	padding-right: var(--athought-gutter);
}

.reach-hero {
	padding-top: calc(5 * var(--athought-space-unit));
	padding-bottom: calc(8 * var(--athought-space-unit));
	margin-top: calc(-1 * var(--athought-vertical-spacing));
}

.reach-hero__inner {
	max-width: var(--athought-container-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
	align-items: center;
	gap: calc(6 * var(--athought-space-unit));
}

.reach-hero__title {
	margin: 0;
	font-family: var(--athought-font-heading);
	font-size: 160px;
	letter-spacing: -0.05em;
	line-height: 0.8em;
	font-weight: 400;
	color: var(--athought-color-meta);
}

.reach-hero__word {
	display: block;
}

.reach-hero__inner {
	position: relative;
}

.reach-hero__media {
	position: relative;
	z-index: 2;
	justify-self: end;
	width: 752px;
	height: 340px;
	margin-right: -140px;
	margin-top: -40px;
}

.reach-hero__image {
	display: block;
	width: 752px;
	height: 340px;
	object-fit: contain;
	transition: transform 0.15s ease-out;
}

.reach-intro {
	padding-bottom: calc(6 * var(--athought-space-unit));
}

.reach-intro__inner {
	max-width: var(--athought-container-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: calc(5 * var(--athought-space-unit));
	align-items: stretch;
}

.reach-intro__copy {
	font-size: 20px;
	line-height: 1.7;
	letter-spacing: -0.03em;
}

.reach-intro__copy p {
	margin-top: 0;
}

.reach-intro__portfolio-link {
	color: var(--athought-color-link);
	text-decoration: none;
	position: relative;
	padding-bottom: var(--athought-underline-gap);
}

.reach-intro__portfolio-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.reach-intro__portfolio-link:hover::after,
.reach-intro__portfolio-link:focus::after {
	transform: scaleX(1);
}

.reach-intro__social {
	align-self: center;
}

.reach-intro__social-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: calc(3 * var(--athought-space-unit));
}

.reach-intro__social-item {
	margin: 0;
}

.reach-intro__social-icon {
	min-width: 160px;
}

.reach-contact {
	padding-bottom: calc(10 * var(--athought-space-unit));
}

.reach-contact__inner {
	max-width: var(--athought-container-max);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.reach-contact__header {
	display: flex;
	flex-direction: column;
	gap: var(--athought-space-unit);
	margin-top: 60px;
	margin-bottom: calc(4 * var(--athought-space-unit));
}

.reach-contact__title {
	margin: 0;
	font-family: var(--athought-font-heading); /* Match "Speak your mind" */
	font-size: 50px;
	line-height: 45px;
	letter-spacing: -0.05em;
	font-weight: 400;
	color: var(--athought-color-meta); /* Cerulean Frost */
}

.reach-contact__notice {
	margin: 0;
	font-size: 16px;
}

.reach-contact__notice--success {
	color: #00c983;
}

.reach-contact__notice--error {
	color: #ff5c7b;
}

.reach-contact__form {
	display: grid;
	grid-template-columns: minmax(280px, 688px) minmax(260px, 380px);
	grid-template-rows: 470px auto;
	gap: 30px;
	align-items: start;
	width: 100%;
	max-width: var(--athought-container-max);
	padding: 0;
	background: transparent;
	box-sizing: border-box;
}

/* Left: message textarea */
.reach-contact__form .comment-form-comment {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	align-self: stretch;
}

/* Right: stacked fields — REUSE comment form layout and fields styling */
.reach-contact__form .comment-form-comment textarea {
	width: 688px;
	max-width: 100%;
	height: 470px;
	min-height: 470px;
	resize: vertical;
	box-sizing: border-box;
}

.reach-contact__form .comment-form-right-column {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 470px;
	height: 470px;
	margin: 0;
}

.reach-contact__form .comment-form-right-column .comment-form-author,
.reach-contact__form .comment-form-right-column .comment-form-email,
.reach-contact__form .comment-form-right-column .comment-form-url,
.reach-contact__form .comment-form-right-column .comment-form-cookies-consent,
.reach-contact__form .comment-form-right-column .form-submit {
	margin: 0;
}

.reach-contact__form .comment-form-right-column .form-submit {
	display: flex;
	justify-content: flex-end;
}

/* Inputs/textarea: inherit full comment form look */
.reach-contact__form input[type="text"],
.reach-contact__form input[type="email"],
.reach-contact__form input[type="url"],
.reach-contact__form textarea {
	font-family: var(--athought-font-sans);
	font-size: 16px;
	color: var(--athought-color-text-30);
	background: rgba(0, 201, 131, 0.1);
	border: 1px solid var(--athought-color-link);
	border-radius: 15px;
	padding: 15px 20px;
	width: 100%;
	box-sizing: border-box;
	box-shadow: none;
	transition: border-color 0.35s var(--athought-ease-gentle), color 0.35s var(--athought-ease-gentle), box-shadow 0.35s var(--athought-ease-gentle);
}

/* Live validation: invalid fields (as user types) — red text/placeholder, border unchanged */
.reach-contact__form input.reach-field--invalid,
.reach-contact__form textarea.reach-field--invalid {
	color: #FF0000;
}

.reach-contact__form input.reach-field--invalid::placeholder,
.reach-contact__form textarea.reach-field--invalid::placeholder {
	color: #FF0000;
	opacity: 0.8;
}

.reach-contact__form input::placeholder,
.reach-contact__form textarea::placeholder {
	color: var(--athought-color-text-30);
	opacity: 1;
	transition: color 0.35s var(--athought-ease-gentle);
}

.reach-contact__form input:hover::placeholder,
.reach-contact__form input:focus::placeholder,
.reach-contact__form textarea:hover::placeholder,
.reach-contact__form textarea:focus::placeholder {
	color: #fff;
}

.reach-contact__form input[type="text"]:hover,
.reach-contact__form input[type="email"]:hover,
.reach-contact__form input[type="url"]:hover,
.reach-contact__form textarea:hover {
	color: var(--athought-color-text);
}

.reach-contact__form input[type="text"]:focus,
.reach-contact__form input[type="email"]:focus,
.reach-contact__form input[type="url"]:focus,
.reach-contact__form textarea:focus {
	outline: none;
	border-width: 1px;
	border-color: var(--athought-color-link);
	color: var(--athought-color-text);
	box-shadow: 0 0 0 1px var(--athought-color-link), 0 0 20px rgba(0, 201, 131, 0.3);
}

.reach-contact__form label {
	display: inline-flex;
	align-items: center;
	gap: calc(0.5 * var(--athought-space-unit));
	margin-bottom: calc(0.75 * var(--athought-space-unit));
	font-size: 14px;
	color: var(--athought-color-meta);
}

.single-post__comments .comment-form .required,
.reach-contact__form .required {
	color: var(--athought-color-red);
}

.reach-contact__form .comment-form-cookies-consent {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
}

.reach-contact__form .comment-form-cookies-consent label {
	margin-top: 5px;
}

.reach-contact__form input[type="checkbox"] {
	appearance: none;
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	background: rgba(0, 201, 131, 0.05);
	border: 1px solid var(--athought-color-link);
	border-radius: 10px;
	margin: 0;
	vertical-align: middle;
	cursor: pointer;
	transition: box-shadow 0.35s var(--athought-ease-gentle);
}

.reach-contact__form input[type="checkbox"]:focus {
	outline: none;
}

.reach-contact__form input[type="checkbox"]:checked {
	box-shadow: 0 0 0 1px var(--athought-color-link), 0 0 20px rgba(0, 201, 131, 0.3);
}

.reach-contact__form .comment-form-cookies-consent label::before {
	content: '';
	position: absolute;
	left: 5px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	border-radius: 5px;
	background: rgba(202, 234, 255, 0.05);
	pointer-events: none;
	transition: background 0.35s var(--athought-ease-gentle);
}

.reach-contact__form .comment-form-cookies-consent input[type="checkbox"]:hover + label::before,
.reach-contact__form .comment-form-cookies-consent input[type="checkbox"]:focus + label::before {
	background: rgba(202, 234, 255, 0.3);
}

.reach-contact__form .comment-form-cookies-consent input[type="checkbox"]:checked + label::before {
	background: #caeaff;
}

.reach-contact__submit {
	display: inline-block;
	width: 100%;
	font-family: var(--athought-font-sans);
	font-size: 20px;
	color: var(--athought-color-link);
	background: var(--athought-color-subheading);
	border: 1px solid transparent;
	border-radius: 15px;
	padding: 20px 15px;
	cursor: pointer;
	vertical-align: middle;
	transition: color 0.35s var(--athought-ease-gentle), background-color 0.35s var(--athought-ease-gentle), border-color 0.35s var(--athought-ease-gentle), box-shadow 0.35s var(--athought-ease-gentle);
}

.reach-contact__submit:hover,
.reach-contact__submit:focus {
	outline: none;
	border-color: var(--athought-color-link);
	box-shadow: 0 0 25px rgba(0, 41, 255, 0.8);
}

.reach-contact__submit:active {
	color: var(--athought-color-subheading);
	background: var(--athought-color-link);
	border-color: transparent;
	box-shadow: 0 0 50px rgba(0, 201, 131, 0.3);
}

.reach-contact__disclaimers {
	display: flex;
	flex-direction: column;
	gap: calc(0.5 * var(--athought-space-unit));
	padding-top: 15px;
	font-size: 14px;
	color: var(--athought-color-meta);
}

.reach-contact__disclaimers .reach-contact__disclaimer {
	margin: 0;
}

.reach-contact__disclaimer--email {
	color: var(--athought-color-meta);
}

.reach-contact__disclaimer--required {
	color: var(--athought-color-text);
}

/* Story: single paragraph block after the photo */
.about-story {
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: -0.03em;
	max-width: 100%;
}

.about-story > *:first-child {
	margin-top: 0;
}

/* Two blocks: social links + portfolio CTA */
.about-blocks {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: calc(6 * var(--athought-space-unit));
	align-items: stretch;
	margin-top: 60px;
}

.about-main__inner {
	max-width: var(--athought-container-max);
	margin: 0 auto;
}

.about-main__social {
	align-self: stretch;
	height: 172px;
	max-height: 172px;
	padding: calc(3 * var(--athought-space-unit));
	border-radius: 25px;
	border: 1px solid var(--athought-color-subheading);
	background: rgba(0, 41, 255, 0.2);
	box-shadow: 0 22px 60px rgba(0, 0, 0, 0.45);
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
}

.about-main__social-heading {
	margin: 0 0 calc(3 * var(--athought-space-unit));
	font-family: var(--athought-font-heading);
	font-size: 20px;
	font-weight: 400;
	color: var(--athought-color-heading);
}

.about-main__social-list {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.about-main__social-item {
	margin: 0;
}

.about-main__social-icon {
	width: 50px;
	height: 50px;
	transition: background 0.2s, color 0.2s, transform 0.2s;
}

/* About social icons: same hover/active as intro (blue bg + green icon on hover, green bg + blue on active) */
.about-main__social .intro-section__icon:hover,
.about-main__social .intro-section__icon:focus {
	background: var(--athought-color-subheading);
	color: var(--athought-color-link);
	transform: scale(2);
}

.about-main__social .intro-section__icon:active,
.about-main__social .intro-section__icon:hover:active {
	background: var(--athought-color-link);
	color: var(--athought-color-subheading);
}

/* Portfolio CTA block (right block in reference) */
.about-portfolio {
	position: relative;
	height: 172px;
	max-height: 172px;
	padding: 30px 45px;
	border-radius: 25px;
	border: 1px solid var(--athought-color-subheading); /* Blue */
	background: rgba(0, 41, 255, 0.1); /* Blue 10% */
	display: flex;
	align-items: center;
	text-decoration: none;
	color: var(--athought-color-text); /* Water */
	transition:
		border-color var(--athought-transition-duration) var(--athought-ease-gentle),
		border-width var(--athought-transition-duration) var(--athought-ease-gentle),
		background var(--athought-transition-duration) var(--athought-ease-gentle),
		color var(--athought-transition-duration) var(--athought-ease-gentle);
	box-sizing: border-box;
}

.about-portfolio__body {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 30px;
}

.about-portfolio__logo-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
}

.about-portfolio__logo {
	display: block;
	width: 34px;
	height: 112px;
}

.about-portfolio__logo,
.about-portfolio__text,
.about-portfolio__cta,
.about-portfolio__arrow {
	transition: color var(--athought-transition-duration) var(--athought-ease-gentle);
}

.about-portfolio__copy {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.about-portfolio__text {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: var(--athought-color-text); /* Water */
}

.about-portfolio__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	font-size: 16px;
	color: var(--athought-color-text); /* Water */
}

.about-portfolio__arrow {
	position: absolute;
	right: 15px;
	bottom: 15px;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--athought-color-link); /* Caribbean green */
}

.about-portfolio__arrow svg {
	width: 100%;
	height: 100%;
	display: block;
}

/* Desktop only: portfolio hover and active states */
@media (min-width: 641px) {
	.about-portfolio:hover,
	.about-portfolio:focus {
		background: rgba(0, 201, 131, 0.2);
		border-color: var(--athought-color-link);
		border-width: 4px;
	}

	.about-portfolio:hover .about-portfolio__logo,
	.about-portfolio:hover .about-portfolio__text,
	.about-portfolio:hover .about-portfolio__cta,
	.about-portfolio:hover .about-portfolio__arrow,
	.about-portfolio:focus .about-portfolio__logo,
	.about-portfolio:focus .about-portfolio__text,
	.about-portfolio:focus .about-portfolio__cta,
	.about-portfolio:focus .about-portfolio__arrow {
		color: var(--athought-color-link);
	}

	.about-portfolio:active {
		background: var(--athought-color-link);
		border-color: var(--athought-color-link);
	}

	.about-portfolio:active .about-portfolio__logo,
	.about-portfolio:active .about-portfolio__text,
	.about-portfolio:active .about-portfolio__cta,
	.about-portfolio:active .about-portfolio__arrow {
		color: var(--athought-color-subheading);
	}
}

/* Comment section: Cerulean Frost top border, spacing above and inside */
.single-post__comments {
	margin-top: 90px;
	margin-left: 15px;
	margin-right: 15px;
	padding-top: 90px;
	padding-left: 15px;
	padding-right: 15px;
	border-top: 1px solid var(--athought-color-meta);
}

/* Comment list: rows with 30px gap, 15px side margins, two columns (avatar | body) */
.single-post__comments .comment-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

/* Default row: Cerulean Frost 5%. Alternate (even): Cerulean Frost 10%. No border on default/alternate. */
.single-post__comments .comment-list > li {
	padding: 45px;
	border-radius: 15px;
	background: rgba(107, 158, 190, 0.05); /* Cerulean Frost 5% — default */
	border: none;
	transition: border-color 0.5s var(--athought-ease-gentle), box-shadow 0.5s var(--athought-ease-gentle);
}

.single-post__comments .comment-list > li.even {
	background: rgba(107, 158, 190, 0.1); /* Cerulean Frost 10% — alternate */
}

/* Post author row: theme class .comment--is-post-author is set by our callback; .bypostauthor from WordPress */
.single-post__comments .comment-list > li.bypostauthor,
.single-post__comments .comment-list > li.comment--is-post-author {
	background: rgba(0, 41, 255, 0.12);
	border: 2px solid var(--athought-color-subheading);
}

/* Newly added comment highlight: Cerulean Frost border for 3s, then fade out */
.single-post__comments .comment-list > li.comment--is-new {
	border: 2px solid var(--athought-color-meta);
	box-shadow: 0 0 0 1px rgba(107, 158, 190, 0.7);
}

.single-post__comments .comment-list > li.comment--is-new.comment--is-new-fade {
	border-color: transparent;
	box-shadow: 0 0 0 0 rgba(107, 158, 190, 0);
}

.single-post__comments .comment__row {
	display: flex;
	gap: 0;
	align-items: flex-start;
}

/* Left column: 150×150, Blue 50%, blue border, 15px radius — Gravatar or initials */
.single-post__comments .comment__avatar {
	position: relative;
	box-sizing: border-box;
	width: 150px;
	height: 150px;
	padding: 5px;
	flex-shrink: 0;
	background: rgba(0, 41, 255, 0.5);
	border: 2px solid var(--athought-color-subheading);
	border-radius: 15px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

/* Gravatar: 150×150 in same box; replaces initials when email has a Gravatar. Post author uses .comment__author-avatar, not Gravatar. */
.single-post__comments .comment__avatar img.comment__gravatar {
	width: 100%;
	height: 100%;
	max-width: 150px;
	max-height: 150px;
	object-fit: cover;
	display: block;
}

/* Post author comment: custom avatar SVG centered at 116px height (width proportional) */
.single-post__comments .comment__avatar img.comment__author-avatar {
	width: auto;
	height: 116px;
	object-fit: contain;
	object-position: center;
	display: block;
}

.single-post__comments .comment__initials {
	font-family: var(--athought-font-heading); /* Archivo Black */
	font-size: 50px;
	color: var(--athought-color-meta); /* Cerulean Frost */
	text-transform: uppercase;
	line-height: 1;
}

/* Fallback initials: hidden until Gravatar fails to load (JS adds .comment__avatar--gravatar-failed) */
.single-post__comments .comment__initials--fallback {
	display: none;
	position: absolute;
	inset: 0;
	align-items: center;
	justify-content: center;
}

.single-post__comments .comment__avatar--gravatar-failed img.comment__gravatar {
	display: none;
}

.single-post__comments .comment__avatar--gravatar-failed .comment__initials--fallback {
	display: flex;
}

/* Right column: 15px left margin, uses all available space; content 20px/38px Water; author+date Cerulean Frost 16px, 30px gap */
.single-post__comments .comment__body {
	margin-left: 15px;
	flex: 1;
	min-width: 0;
}

.single-post__comments .comment__content {
	font-family: var(--athought-font-sans); /* Geologica */
	font-size: 20px;
	line-height: 38px;
	color: var(--athought-color-text); /* Water */
	margin: 0;
}

.single-post__comments .comment__content p {
	margin: 0 0 0.5em;
}

.single-post__comments .comment__content p:last-child {
	margin-bottom: 0;
}

.single-post__comments .comment__meta {
	margin-top: 15px;
	font-family: var(--athought-font-sans);
	font-size: 16px;
	color: var(--athought-color-meta); /* Cerulean Frost */
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 30px;
}

.single-post__comments .comment__author,
.single-post__comments .comment__date {
	margin: 0;
}

.single-post__comments .comment__date time {
	font-weight: inherit;
}

/* Author name as link: same behaviour as content links (Caribbean green, animated underline) */
.single-post__comments .comment__author-link {
	position: relative;
	display: inline-block;
	padding-bottom: var(--athought-underline-gap);
	color: var(--athought-color-link);
	text-decoration: none;
}

.single-post__comments .comment__author-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.single-post__comments .comment__author-link:hover,
.single-post__comments .comment__author-link:focus {
	color: var(--athought-color-link-hover);
	text-decoration: none;
}

.single-post__comments .comment__author-link:hover::after,
.single-post__comments .comment__author-link:focus::after {
	transform: scaleX(1);
}

/* Author comment: author name in bright blue */
.single-post__comments .comment-list > li.bypostauthor .comment__author-link,
.single-post__comments .comment-list > li.comment--is-post-author .comment__author-link {
	color: var(--athought-color-link);
}

.single-post__comments .comment-list > li.bypostauthor .comment__author-link:hover,
.single-post__comments .comment-list > li.bypostauthor .comment__author-link:focus,
.single-post__comments .comment-list > li.comment--is-post-author .comment__author-link:hover,
.single-post__comments .comment-list > li.comment--is-post-author .comment__author-link:focus {
	color: var(--athought-color-link-hover);
	opacity: 0.9;
}

/* No comments empty state: banner with OH NO! | illustration | copy */
.comments-empty {
	margin-bottom: 2em;
}

.comments-empty__banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	column-gap: 30px;
	row-gap: 0;
	background: transparent;
	padding: 0;
}

.comments-empty__oh-no {
	margin: 0;
	display: flex;
	align-items: center;
	font-family: var(--athought-font-heading); /* Archivo Black */
	font-size: 52px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: -0.05em;
	color: var(--athought-color-subheading); /* Blue */
}

.comments-empty__visual {
	flex-shrink: 0;
	line-height: 0;
}

.comments-empty__visual img {
	display: block;
	width: 120px;
	height: auto;
	object-fit: contain;
}

.comments-empty__copy {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.comments-empty__line {
	margin: 0;
	font-family: var(--athought-font-sans); /* Geologica */
	font-size: 20px;
	line-height: 1.4;
	color: var(--athought-color-text); /* Water */
}

.comments-empty__cta {
	margin: 0;
	font-family: var(--athought-font-sans);
	font-size: 18px;
	line-height: 1.4;
	color: var(--athought-color-text);
}

/* Comment form section: "Speak your mind" heading and form layout */
.single-post__comments .comment-respond {
	padding-top: 0;
}

/* Comments list section title (when there are comments): one vs many */
.single-post__comments .comments-area__title {
	margin: 0 0 30px 0;
	font-family: var(--athought-font-heading); /* Archivo Black */
	font-size: 50px;
	line-height: 45px;
	letter-spacing: -0.05em;
	color: var(--athought-color-meta); /* Cerulean Frost */
}

.single-post__comments .comment-reply-title {
	margin: 120px 0 30px 0;
	font-family: var(--athought-font-heading); /* Archivo Black */
	font-size: 50px;
	line-height: 45px;
	letter-spacing: -0.05em;
	font-weight: 400;
	color: var(--athought-color-meta); /* Cerulean Frost */
}

/* Two columns: textarea left (470px), right column same height — Name at top, button at bottom, even spacing between */
.single-post__comments .comment-form {
	display: grid;
	grid-template-columns: minmax(280px, 688px) minmax(260px, 380px);
	grid-template-rows: minmax(470px, auto) auto;
	gap: 30px;
	align-items: start;
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
}

/* Left column: comment textarea fills row height */
.single-post__comments .comment-form .comment-form-comment {
	grid-column: 1;
	grid-row: 1;
	margin: 0;
	align-self: stretch;
}

/* Right column: same 470px height as textarea; flex with space-between so Name at top, button at bottom, consistent spacing */
.single-post__comments .comment-form .comment-form-right-column {
	grid-column: 2;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 470px;
	height: auto;
	margin: 0;
}

.single-post__comments .comment-form .comment-form-right-column .comment-form-author,
.single-post__comments .comment-form .comment-form-right-column .comment-form-email,
.single-post__comments .comment-form .comment-form-right-column .comment-form-url,
.single-post__comments .comment-form .comment-form-right-column .comment-form-cookies-consent,
.single-post__comments .comment-form .comment-form-right-column .form-submit {
	margin: 0;
}

.single-post__comments .comment-form .comment-form-right-column .form-submit {
	display: flex;
	justify-content: flex-end;
}

/* Logged-in: textarea full width, then one row with "Logged in as..." and button on same line, vertically centered */
.logged-in .single-post__comments .comment-form {
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto;
	align-items: center;
	gap: 30px 30px;
	width: 100%;
	max-width: 1140px;
}

.logged-in .single-post__comments .comment-form .comment-form-comment {
	grid-column: 1 / -1;
	min-height: 470px;
}

.logged-in .single-post__comments .comment-form .comment-form-comment textarea {
	width: 100%;
	min-height: 470px;
	height: 470px;
	max-width: 1140px;
	box-sizing: border-box;
}

.logged-in .single-post__comments .comment-form .logged-in-as {
	grid-column: 1;
	grid-row: 2;
	margin: 0;
	font-family: var(--athought-font-sans);
	font-size: 16px;
	color: var(--athought-color-text);
}

.logged-in .single-post__comments .comment-form .form-submit {
	grid-column: 2;
	grid-row: 2;
}

.logged-in .single-post__comments .comment-form .form-submit input[type="submit"] {
	width: 100%; /* Match default full-width button */
}

/* Same link behaviour as .entry-content a: Caribbean green, animated underline on hover/focus */
.logged-in .single-post__comments .comment-form .logged-in-as a {
	position: relative;
	display: inline-block;
	padding-bottom: var(--athought-underline-gap);
	color: var(--athought-color-link);
	text-decoration: none;
}

.logged-in .single-post__comments .comment-form .logged-in-as a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.logged-in .single-post__comments .comment-form .logged-in-as a:hover,
.logged-in .single-post__comments .comment-form .logged-in-as a:focus {
	color: var(--athought-color-link-hover);
	text-decoration: none;
}

.logged-in .single-post__comments .comment-form .logged-in-as a:hover::after,
.logged-in .single-post__comments .comment-form .logged-in-as a:focus::after {
	transform: scaleX(1);
}

/* Notes full width below with 60px gap — muted text to match reference */
.single-post__comments .comment-form .comment-notes,
.single-post__comments .comment-form .form-allowed-tags {
	grid-column: 1 / -1;
	margin: 60px 0 0;
	font-family: var(--athought-font-sans);
	font-size: 14px;
	line-height: 1.5;
	color: rgba(202, 234, 255, 0.5); /* Muted water */
}

/* Tablet comments layout tweaks: avatars + containers + padding (desktop and small mobile unchanged) */
@media (max-width: 1024px) and (min-width: 769px) {
	/* Slightly tighter spacing around the comments area on tablet */
	.single-post__comments {
		margin-top: 60px;
		padding-top: 60px;
	}

	/* Comment cards a bit more compact horizontally/vertically */
	.single-post__comments .comment-list > li {
		padding: 32px 36px;
	}

	/* Give avatar/body a real gap instead of relying on body margin */
	.single-post__comments .comment__row {
		gap: 24px;
	}

	/* Avatar: slightly smaller on tablet so more room for text */
	.single-post__comments .comment__avatar {
		width: 64px;
		height: 64px;
		padding: 4px;
		border-radius: 12px;
	}

	.single-post__comments .comment__avatar img.comment__gravatar {
		max-width: 64px;
		max-height: 64px;
	}

	/* Let the gap handle spacing, not extra margin */
	.single-post__comments .comment__body {
		margin-left: 0;
	}
}

/* Comment form: inputs, textarea — default: 10% Caribbean green bg, 1px border, 15px radius, 20px/15px padding, 16px Geologica */
.single-post__comments .comment-form input[type="text"],
.single-post__comments .comment-form input[type="email"],
.single-post__comments .comment-form input[type="url"],
.single-post__comments .comment-form textarea {
	font-family: var(--athought-font-sans); /* Geologica */
	font-size: 16px;
	color: var(--athought-color-text-30); /* Water 30% */
	background: rgba(0, 201, 131, 0.1); /* 10% Caribbean green */
	border: 1px solid var(--athought-color-link); /* Caribbean green */
	border-radius: 15px;
	padding: 15px 20px; /* 20px horizontal, 15px vertical */
	width: 100%;
	box-sizing: border-box;
	box-shadow: none;
	transition: border-color 0.35s var(--athought-ease-gentle), color 0.35s var(--athought-ease-gentle), box-shadow 0.35s var(--athought-ease-gentle);
}

.single-post__comments .comment-form textarea {
	width: 688px;
	max-width: 100%;
	height: 100%;
	min-height: 470px;
	resize: vertical;
}

/* Default: placeholder (ghost text) Water 30% — transition for smoother hover/focus */
.single-post__comments .comment-form input::placeholder,
.single-post__comments .comment-form textarea::placeholder {
	color: var(--athought-color-text-30);
	opacity: 1;
	transition: color 0.35s var(--athought-ease-gentle);
}

/* Hover & focus: ghost text becomes white */
.single-post__comments .comment-form input:hover::placeholder,
.single-post__comments .comment-form input:focus::placeholder,
.single-post__comments .comment-form textarea:hover::placeholder,
.single-post__comments .comment-form textarea:focus::placeholder {
	color: #fff;
}

/* Hover: text becomes Water */
.single-post__comments .comment-form input[type="text"]:hover,
.single-post__comments .comment-form input[type="email"]:hover,
.single-post__comments .comment-form input[type="url"]:hover,
.single-post__comments .comment-form textarea:hover {
	color: var(--athought-color-text); /* Water */
}

/* Focus / Active / Selected: 2px look via box-shadow (no border change = no jump), 20px blur Caribbean green 30% */
.single-post__comments .comment-form input[type="text"]:focus,
.single-post__comments .comment-form input[type="email"]:focus,
.single-post__comments .comment-form input[type="url"]:focus,
.single-post__comments .comment-form textarea:focus {
	outline: none;
	border-width: 1px;
	border-color: var(--athought-color-link);
	color: var(--athought-color-text); /* Water / white */
	box-shadow: 0 0 0 1px var(--athought-color-link), 0 0 20px rgba(0, 201, 131, 0.3);
}

/* Validation error: email — red only after submit attempted when invalid and has content */
.single-post__comments .comment-form.form-validated input[type="email"]:invalid:not(:placeholder-shown) {
	color: #FF0000;
}

.single-post__comments .comment-form.form-validated input[type="email"]:invalid:not(:placeholder-shown)::placeholder {
	color: #FF0000;
	opacity: 0.8;
}

/* Validation error: website (optional) — red only when user entered something that is invalid, not when empty or only "https://" */
.single-post__comments .comment-form.form-validated input[type="url"].url-filled:invalid {
	color: #FF0000;
}

.single-post__comments .comment-form.form-validated input[type="url"].url-filled:invalid::placeholder {
	color: #FF0000;
	opacity: 0.8;
}

/* Validation error: comment textarea when empty on submit — red text/placeholder (no tooltip) */
.single-post__comments .comment-form.form-validated .comment-form-comment textarea:invalid {
	color: #FF0000;
}

.single-post__comments .comment-form.form-validated .comment-form-comment textarea:invalid::placeholder {
	color: #FF0000;
	opacity: 0.8;
}

/* Checkbox: 30×30, 10px radius, 1px Caribbean green; inner square (label::before) Water opacity 5% → 30% (hover/focus) → 100% (checked). Smooth cross-dissolve. */
.single-post__comments .comment-form .comment-form-cookies-consent {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
}

.single-post__comments .comment-form input[type="checkbox"] {
	appearance: none;
	width: 30px;
	height: 30px;
	flex-shrink: 0;
	background: rgba(0, 201, 131, 0.05); /* Caribbean green 5% — insides */
	border: 1px solid var(--athought-color-link);
	border-radius: 10px;
	margin: 0;
	vertical-align: middle;
	cursor: pointer;
	transition: box-shadow 0.35s var(--athought-ease-gentle);
}

.single-post__comments .comment-form input[type="checkbox"]:focus {
	outline: none;
}

.single-post__comments .comment-form input[type="checkbox"]:checked {
	/* 2px look via box-shadow (no border change = no jump), 20px blur Caribbean green 30% */
	box-shadow: 0 0 0 1px var(--athought-color-link), 0 0 20px rgba(0, 201, 131, 0.3);
}

/* Inner square: Water at 5% (default), 30% (hover/focus), 100% (checked); border-radius 5px. Positioned relative to .comment-form-cookies-consent so it overlays the input. */
.single-post__comments .comment-form .comment-form-cookies-consent label::before {
	content: '';
	position: absolute;
	left: 5px;
	top: 5px;
	width: 20px;
	height: 20px;
	border-radius: 5px;
	background: rgba(202, 234, 255, 0.05); /* Water 5% */
	pointer-events: none;
	transition: background 0.35s var(--athought-ease-gentle);
}

.single-post__comments .comment-form .comment-form-cookies-consent input[type="checkbox"]:hover + label::before,
.single-post__comments .comment-form .comment-form-cookies-consent input[type="checkbox"]:focus + label::before {
	background: rgba(202, 234, 255, 0.3); /* Water 30% */
}

.single-post__comments .comment-form .comment-form-cookies-consent input[type="checkbox"]:checked + label::before {
	background: var(--athought-color-text); /* Water 100% */
}

/* Form labels (Name, Email, Website) — 5px between label and input */
.single-post__comments .comment-form .comment-form-author label,
.single-post__comments .comment-form .comment-form-email label,
.single-post__comments .comment-form .comment-form-url label {
	display: block;
	margin-bottom: 5px;
	padding-left: 10px;
	font-family: var(--athought-font-sans);
	font-size: 16px;
	color: var(--athought-color-text);
}

.reach-contact__form .comment-form-author label,
.reach-contact__form .comment-form-email label,
.reach-contact__form .comment-form-url label {
	padding-left: 10px;
}

.single-post__comments .comment-form .comment-form-cookies-consent label {
	font-family: var(--athought-font-sans);
	font-size: 16px;
	color: var(--athought-color-text); /* Water */
	cursor: pointer;
	vertical-align: middle;
}

/* Submit button "Post my words": full width of right column. Blue bg + Caribbean green text; hover/active states. */
.single-post__comments .comment-form .form-submit input[type="submit"] {
	font-family: var(--athought-font-sans);
	font-size: 20px;
	color: var(--athought-color-link); /* Caribbean green text */
	background: var(--athought-color-subheading); /* Blue */
	border: 1px solid transparent;
	border-radius: 15px;
	padding: 20px 15px;
	width: 100%;
	cursor: pointer;
	transition: color 0.35s var(--athought-ease-gentle), background-color 0.35s var(--athought-ease-gentle), border-color 0.35s var(--athought-ease-gentle), box-shadow 0.35s var(--athought-ease-gentle);
}

.single-post__comments .comment-form .form-submit input[type="submit"]:hover,
.single-post__comments .comment-form .form-submit input[type="submit"]:focus {
	outline: none;
	border-color: var(--athought-color-link); /* 1px Caribbean green */
	box-shadow: 0 0 25px rgba(0, 41, 255, 0.8); /* 80% blue, 25px blur */
}

.single-post__comments .comment-form .form-submit input[type="submit"]:active {
	color: var(--athought-color-subheading); /* Blue text */
	background: var(--athought-color-link); /* Caribbean green */
	border-color: transparent;
	box-shadow: 0 0 50px rgba(0, 201, 131, 0.3); /* 30% Caribbean green, 50px blur */
}

/* Comment form submit: animated states (button → loader → moderation text → button) */
.single-post__comments .comment-form .form-submit {
	position: relative;
}

.comment-form-submit-animator {
	position: relative;
	width: 100%;
}

.comment-form-submit-state {
	align-items: center;
	justify-content: center;
	opacity: 0;
	transform: translateX(0);
	transition: opacity 0.35s var(--athought-ease-gentle), transform 0.35s var(--athought-ease-gentle);
	pointer-events: none;
}

.comment-form-submit-state.is-visible {
	display: flex;
	opacity: 1;
	pointer-events: auto;
}

.comment-form-submit-state--loader,
.comment-form-submit-state--message {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}

.comment-form-submit-state--loader.is-visible,
.comment-form-submit-state--message.is-visible {
	display: flex;
}

.comment-form-submit-state--button input[type="submit"] {
	width: 100%;
}

/* Loader: img showing images/assets/loader.svg (48×48) */
/* Loader box: 48×48; inline SVG or img inside */
.comment-form-submit-loader {
	display: block;
	width: 48px;
	height: 48px;
}

.comment-form-submit-loader svg {
	width: 100%;
	height: 100%;
	display: block;
}

.comment-form-submit-loader img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

.comment-form-submit-state--message {
	justify-content: space-between;
	font-family: var(--athought-font-sans);
	font-size: 20px;
	color: var(--athought-color-text);
}

.comment-form-submit-countdown {
	margin-left: 8px;
	padding: 10px;
	border-radius: 15px;
	font-size: 16px;
	background: rgba(107, 158, 190, 0.3); /* Cerulean Frost 30% */
	border: 1px solid var(--athought-color-meta); /* Cerulean Frost */
	color: var(--athought-color-text); /* Water */
}

/* Disclaimer below form: 30px gap, then two lines (10px apart) — Cerulean Frost, then Water */
.single-post__comments .comment-form-disclaimers {
	margin-top: 15px;
}

.single-post__comments .comment-form-disclaimers .comment-form-disclaimer__email {
	color: var(--athought-color-meta); /* Cerulean Frost */
	margin: 0;
}

.single-post__comments .comment-form-disclaimers .comment-form-disclaimer__required {
	color: var(--athought-color-text); /* Water */
	margin: 10px 0 0;
}

.single-post__components {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
}

.single-post__components > * {
	margin-top: 0;
	padding-top: 0;
}

.single-post__content,
.single-page__content {
	position: relative;
	z-index: 1;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
}

.single-page__content {
	margin-top: 0;
}

.single-post .single-post__content {
	margin-top: 0;
}

.entry-content {
	font-family: var(--athought-font-sans);
	font-size: 20px;
	line-height: 38px;
	letter-spacing: 0;
	font-weight: 400;
}

.single-post__content .entry-content,
.single-post__components .entry-content {
	padding-top: 0;
	margin-top: 0;
}

.single-post__content .entry-content > :first-child,
.single-post__components .entry-content > :first-child {
	margin-top: 0;
}

/* Override block editor / wrapper top spacing inside components */
.single-post__components .wp-block-post-content,
.single-post__components [class*="wp-block"] {
	margin-top: 0;
	padding-top: 0;
}

.single-post__components .entry-content > *:first-child,
.single-post__components .wp-block-post-content > *:first-child {
	margin-top: 0;
}

.entry-content p {
	margin: 0 0 calc(1em + 20px);
	font-family: var(--athought-font-sans);
	font-size: 20px;
	line-height: 38px;
	letter-spacing: 0;
	font-weight: 400;
}

.entry-content p:last-child {
	margin-bottom: 0;
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	margin: 1.5em 0 0.5em;
	font-family: var(--athought-font-heading);
	font-size: 40px;
	line-height: 50px;
	letter-spacing: -0.05em;
	font-weight: 400;
	color: var(--athought-color-meta);
}

.entry-content h3 { margin: 1.25em 0 0.5em; }
.entry-content h4,
.entry-content h5,
.entry-content h6 { margin: 1em 0 0.5em; }

.entry-content blockquote {
	position: relative;
	margin: 30px 0;
	padding: 0 1.5em 1em 112px;
	background-image: url("../images/quote.svg");
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 210px auto;
	border: none;
	font-family: var(--athought-font-sans);
	font-size: 30px;
	line-height: 38px;
	letter-spacing: 0;
	font-weight: 400;
	color: var(--athought-color-meta);
}

.entry-content blockquote p {
	margin: 0 0 0.5em;
	font-size: 30px;
	line-height: 38px;
}

.entry-content blockquote p:first-child {
	padding-top: 60px;
}

.entry-content blockquote p:last-child {
	margin-bottom: 0;
}

.entry-content ul,
.entry-content ol {
	margin: 0 0 1em;
	padding-left: 1.5em;
}

.entry-content a {
	position: relative;
	display: inline-block;
	padding-bottom: var(--athought-underline-gap);
	color: var(--athought-color-link);
	text-decoration: none;
}

.entry-content a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.entry-content a:hover,
.entry-content a:focus {
	text-decoration: none;
}

.entry-content a:hover::after,
.entry-content a:focus::after {
	transform: scaleX(1);
}

.entry-content .gallery,
.entry-content .wp-block-gallery,
.entry-content .wp-block-gallery.wp-block-gallery-is-layout-flex,
.entry-content .wp-block-gallery.wp-block-gallery-is-layout-grid {
	margin-top: 60px;
	margin-bottom: 60px;
	gap: 15px !important;
	--wp--style--gallery-gap-default: 15px;
	--gallery-block--gutter-size: 15px;
}

.entry-content .wp-block-gallery .blocks-gallery-grid,
.entry-content .wp-block-gallery .wp-block-gallery__inner-container {
	gap: 15px !important;
}

.entry-content .gallery {
	display: grid;
	gap: 15px !important;
}

.entry-content .gallery img,
.entry-content .wp-block-gallery img,
.entry-content .blocks-gallery-item img {
	border-radius: 15px;
}

.entry-content .gallery .gallery-item,
.entry-content .gallery .gallery-item a,
.entry-content .gallery .gallery-item img,
.entry-content .wp-block-gallery .wp-block-image,
.entry-content .wp-block-gallery .wp-block-image a,
.entry-content .wp-block-gallery .wp-block-image img,
.entry-content .wp-block-gallery .blocks-gallery-item img {
	cursor: pointer;
}

.entry-content figure.wp-block-image,
.entry-content .wp-block-image {
	width: 100%;
	max-width: 100%;
	margin-top: 30px;
	margin-bottom: 30px;
	border-radius: 15px;
	overflow: hidden;
}

.entry-content figure.wp-block-image img,
.entry-content .wp-block-image img {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: top;
	border-radius: 15px;
}

/* Aligned images: allow smaller images with text wrapping on desktop/tablet */
.entry-content figure.wp-block-image.alignleft,
.entry-content .wp-block-image.alignleft,
.entry-content figure.wp-block-image.alignright,
.entry-content .wp-block-image.alignright {
	width: auto;
	max-width: min(50%, 360px);
}

.entry-content figure.wp-block-image.alignleft,
.entry-content .wp-block-image.alignleft {
	float: left;
	margin-top: 10px;
	margin-right: 30px;
	margin-bottom: 20px;
	margin-left: 0;
}

.entry-content figure.wp-block-image.alignright,
.entry-content .wp-block-image.alignright {
	float: right;
	margin-top: 10px;
	margin-right: 0;
	margin-bottom: 20px;
	margin-left: 30px;
}

.entry-content figure.wp-block-image.alignleft img,
.entry-content .wp-block-image.alignleft img,
.entry-content figure.wp-block-image.alignright img,
.entry-content .wp-block-image.alignright img {
	width: 100%;
	max-width: 100%;
	height: auto;
}

.entry-content figure.wp-block-image figcaption,
.entry-content .wp-block-image figcaption {
	font-size: 16px;
	line-height: 30px;
	color: var(--athought-color-meta);
	font-style: italic;
	padding-left: 15px;
	padding-right: 15px;
}

/* Media & Text block: match post typography and spacing */
.entry-content .wp-block-media-text {
	margin-top: 40px;
	margin-bottom: 40px;
	gap: 30px; /* max horizontal gap between image and text on desktop */
	align-items: flex-start;
}

.entry-content .wp-block-media-text .wp-block-media-text__media img {
	border-radius: 15px;
	display: block;
	width: 100%;
	height: auto;
}

.entry-content .wp-block-media-text .wp-block-media-text__content {
	font-size: 20px;
	line-height: 38px;
	color: var(--athought-color-text);
}

/* Media & Text on mobile: stack like normal content */
@media (max-width: 768px) {
	.entry-content .wp-block-media-text {
		gap: 15px; /* max horizontal gap between image and text on mobile */
		margin-top: 30px;
		margin-bottom: 30px;
	}
}

/* Non–full-width centered images: use 'aligncenter' and width control */
.entry-content figure.wp-block-image.aligncenter,
.entry-content .wp-block-image.aligncenter {
	margin-left: auto;
	margin-right: auto;
	width: auto;
	max-width: 70%;
}

/* Gallery item spacing: use a consistent 15px gap via CSS grid/flex gap (no extra per-item margins) */
.entry-content .wp-block-gallery .wp-block-image,
.entry-content .wp-block-gallery figure.wp-block-image,
.entry-content .wp-block-gallery .blocks-gallery-item,
.entry-content .gallery .gallery-item {
	margin: 0;
}

/* Gallery captions hidden in post; shown only in the image lightbox modal */
.entry-content .gallery .gallery-caption,
.entry-content .gallery figcaption,
.entry-content .wp-block-gallery figcaption {
	display: none;
}

/* Embeds: WP ratio box + absolute iframe — do not use height:auto on these iframes.
   No border-radius (YouTube, Instagram, X, etc. use their own chrome). */
.entry-content .wp-block-embed,
.entry-content figure.wp-block-embed {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-left: auto;
	margin-right: auto;
	margin-top: 60px;
	margin-bottom: 60px;
}

/* Inside Columns (narrow column): let embed shrink so it matches editor width */
.entry-content .wp-block-column .wp-block-embed,
.entry-content .wp-block-column figure.wp-block-embed {
	margin-top: 0;
	margin-bottom: 0;
}

.entry-content .wp-block-embed__wrapper {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	border-radius: 15px;
	-webkit-border-radius: 15px;
}

.entry-content .wp-block-embed__wrapper iframe {
	max-width: 100%;
	border: 0;
	border-radius: 15px !important;
	-webkit-border-radius: 15px !important;
}

.entry-content .wp-block-embed iframe {
	max-width: 100%;
	border-radius: 15px !important;
	-webkit-border-radius: 15px !important;
}

/* Rich embeds: keep normal figure sizing; provider-specific width rules below */
.entry-content .wp-block-embed.is-type-rich {
	width: 100%;
	max-width: 100%;
}

.entry-content .wp-block-embed figcaption,
.entry-content .wp-block-embed__caption {
	width: 100%;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 30px;
	color: var(--athought-color-meta);
	font-style: italic;
	padding-left: 15px;
	padding-right: 15px;
	text-align: center;
}

/* Columns: match editor (flex + gap + inline flex-basis on each .wp-block-column) */
.entry-content .wp-block-columns,
.entry-content .wp-block-columns.is-layout-flex {
	display: flex;
	flex-wrap: wrap;
	box-sizing: border-box;
	align-items: flex-start;
	gap: var(--wp--style--block-gap, 2em);
	width: 100%;
	max-width: 100%;
}

.entry-content .wp-block-column {
	min-width: 0;
	flex-basis: 0;
	flex-grow: 1;
	word-break: break-word;
	overflow-wrap: break-word;
}

/* Three-column embed layout using inline flex-basis styles: 10% / 80% / 10% */
.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis:10%"],
.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis: 10%"] {
	flex: 0 0 10%;
	max-width: 10%;
}

.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis:80%"],
.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis: 80%"],
.entry-content .wp-block-columns > .wp-block-column:nth-child(2):nth-last-child(2) {
	flex: 0 0 80%;
	max-width: 80%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Instagram injects inline margins/min-width; force the embed box to center in middle column */
.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis:80%"] .wp-block-embed,
.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis: 80%"] .wp-block-embed,
.entry-content .wp-block-columns > .wp-block-column:nth-child(2):nth-last-child(2) .wp-block-embed,
.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis:80%"] figure.wp-block-embed,
.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis: 80%"] figure.wp-block-embed,
.entry-content .wp-block-columns > .wp-block-column:nth-child(2):nth-last-child(2) figure.wp-block-embed,
.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis:80%"] .wp-block-embed__wrapper,
.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis: 80%"] .wp-block-embed__wrapper,
.entry-content .wp-block-columns > .wp-block-column:nth-child(2):nth-last-child(2) .wp-block-embed__wrapper {
	margin-left: auto;
	margin-right: auto;
}

.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis:80%"] .wp-block-embed__wrapper,
.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis: 80%"] .wp-block-embed__wrapper,
.entry-content .wp-block-columns > .wp-block-column:nth-child(2):nth-last-child(2) .wp-block-embed__wrapper {
	display: flex;
	justify-content: center;
}

.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis:80%"] .wp-block-embed__wrapper iframe,
.entry-content .wp-block-columns > .wp-block-column[style*="flex-basis: 80%"] .wp-block-embed__wrapper iframe,
.entry-content .wp-block-columns > .wp-block-column:nth-child(2):nth-last-child(2) .wp-block-embed__wrapper iframe {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Instagram: lock embed/caption to same rendered width */
.entry-content .wp-block-embed.is-provider-instagram .wp-block-embed__wrapper {
	width: min(100%, 500px);
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	border-radius: 15px;
	-webkit-border-radius: 15px;
}

.entry-content .wp-block-embed.is-provider-instagram figcaption,
.entry-content .wp-block-embed.is-provider-instagram .wp-block-embed__caption {
	width: min(100%, 500px);
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}

@media (min-width: 782px) {
	.entry-content .wp-block-columns,
	.entry-content .wp-block-columns.is-layout-flex {
		flex-wrap: nowrap;
	}
}

@media (max-width: 781px) {
	.entry-content .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column,
	.entry-content .wp-block-columns.is-layout-flex:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
		max-width: 100% !important;
	}
}

/* Only target bare iframes in content (not inside .wp-block-embed__wrapper — those use WP layout) */
.entry-content > iframe,
.entry-content p iframe {
	width: 100%;
	max-width: 100%;
	display: block;
	vertical-align: top;
}

.entry-content .page-links {
	margin-top: 1.5em;
}

.single-post__footer,
.single-page__footer {
	padding-top: calc(2 * var(--athought-space-unit));
	border-top: 1px solid var(--athought-color-border);
	font-size: 0.875rem;
	color: var(--athought-color-meta);
}

.edit-link a {
	color: var(--athought-color-meta);
	text-decoration: none;
}

.edit-link a:hover,
.edit-link a:focus {
	text-decoration: underline;
}

/* Post navigation (single.php): prev/next cards after comments */
.post-navigation {
	margin-top: 90px;
	margin-left: 15px;
	margin-right: 15px;
}

.post-navigation__container {
	box-sizing: border-box;
	width: 100%;
	max-width: 1140px;
	height: 290px;
	margin: 0 auto;
	padding: 45px 15px;
}

.post-navigation__links {
	display: flex;
	gap: 30px;
	align-items: stretch;
	height: 100%;
	min-height: 200px;
}

.post-navigation__link {
	flex: 1;
	min-width: 0;
}

.post-navigation__card {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	min-height: 200px;
	padding: 20px 24px;
	background-color: var(--athought-bg);
	border-radius: 12px;
	overflow: hidden;
	contain: paint;
	isolation: isolate;
	text-decoration: none;
	color: var(--athought-color-link);
	font-family: var(--athought-font-sans);
	font-size: 20px;
	line-height: 30px;
	position: relative;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.post-navigation__card:hover,
.post-navigation__card:focus {
	background-color: var(--athought-color-link);
	color: var(--athought-color-subheading);
	outline: none;
}

.post-navigation__card:hover .post-navigation__bg,
.post-navigation__card:focus .post-navigation__bg {
	opacity: 0;
}

/* Clipping wrapper: clip-path clips the blurred layer to rounded rect (overflow: hidden doesn't clip filter in some browsers) */
.post-navigation__clip {
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: 12px;
	overflow: hidden;
	clip-path: inset(0 round 12px);
	-webkit-clip-path: inset(0 round 12px);
	transform: translateZ(0);
	isolation: isolate;
	pointer-events: none;
}

.post-navigation__clip .post-navigation__bg {
	position: absolute;
	inset: 0;
}

.post-navigation__card--no-image {
	background-color: rgba(0, 41, 255, 0.05);
	border: 1px solid rgba(0, 41, 255, 0.1);
}

.post-navigation__card--no-image:hover,
.post-navigation__card--no-image:focus {
	background-color: var(--athought-color-link);
	border-color: var(--athought-color-link);
}

.post-navigation__bg {
	position: absolute;
	inset: 0;
	background-size: 110%;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.4;
	filter: blur(5px);
	clip-path: inset(0 round 12px);
	-webkit-clip-path: inset(0 round 12px);
	pointer-events: none;
	transition: opacity 0.2s ease, filter 0.2s ease;
}

.post-navigation__content {
	display: flex;
	align-items: center;
	gap: 0;
	position: relative;
	z-index: 1;
	width: 100%;
}

.post-navigation__link--prev .post-navigation__content {
	justify-content: flex-start;
	text-align: left;
}

.post-navigation__link--next .post-navigation__content {
	justify-content: flex-end;
	text-align: right;
}

.post-navigation__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	align-self: center;
	color: inherit;
}

.post-navigation__icon-svg {
	width: 65px;
	height: 65px;
	display: block;
}

.post-navigation__title {
	flex: 1;
	min-width: 0;
	align-self: center;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media (max-width: 768px) {
	.post-navigation__container {
		height: auto;
		min-height: 0;
		padding: 30px 15px;
	}

	.post-navigation__links {
		flex-direction: column;
		min-height: 0;
	}

	.post-navigation__link {
		min-height: 160px;
	}

	.post-navigation__card {
		min-height: 160px;
		border-radius: 12px;
		overflow: hidden;
	}

	/* Single post navigation cards: remove blurred background image on mobile */
	.post-navigation__bg {
		filter: none;
	}
}

/* Small tablet (e.g. iPad Mini portrait 768px): intro section 15px side margins */
@media (min-width: 641px) and (max-width: 768px) {
	.intro-section {
		width: calc(100% - 30px);
		margin-left: 15px;
		margin-right: 15px;
	}
}

/* Tablet (e.g. iPad Mini landscape up to 1134px) — intro 15px side margins + comment tweaks */
@media (min-width: 769px) and (max-width: 1135px) {
	/* Intro section: 15px side margins on tablet (iPad Mini portrait, landscape 1024px, and wide 1134px) */
	.intro-section {
		width: calc(100% - 30px);
		margin-left: 15px;
		margin-right: 15px;
	}

	/* Comments list items: padding between desktop (45) and mobile (22.5) */
	.single-post__comments .comment-list > li {
		padding: 30px;
	}

	/* Avatar size: between desktop and mobile scale; images and initials fit container */
	.single-post__comments .comment__avatar {
		width: 90px;
		height: 90px;
		border-radius: 12px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.single-post__comments .comment__avatar img.comment__gravatar {
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		object-fit: contain;
		object-position: center;
	}

	.single-post__comments .comment__avatar img.comment__author-avatar {
		width: auto;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		object-fit: contain;
		object-position: center;
	}

	.single-post__comments .comment__initials {
		font-size: 28px;
		line-height: 1;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.single-post__comments .comment__avatar--gravatar-failed .comment__initials--fallback {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	/* Comment body text: between desktop 20px and mobile 14px */
	.single-post__comments .comment__content,
	.single-post__comments .comment__content p {
		font-size: 16px;
		line-height: 28px;
	}
}

/* Contact page form (page-contact.php) */
.contact-form-section {
	margin-top: calc(5 * var(--athought-space-unit));
	padding-top: calc(4 * var(--athought-space-unit));
	border-top: 1px solid var(--athought-color-border);
}

.contact-form-section__title {
	margin: 0 0 calc(3 * var(--athought-space-unit));
	font-family: var(--athought-font-heading);
	font-size: 1.25rem;
	font-weight: 400;
	color: var(--athought-color-heading);
}

.contact-form__row {
	margin: 0 0 calc(2 * var(--athought-space-unit));
}

.contact-form__label {
	display: block;
	margin-bottom: 0.25em;
	font-weight: 600;
}

.contact-form__required {
	color: var(--athought-color-meta);
}

.contact-form__input {
	display: block;
	width: 100%;
	max-width: 28em;
	padding: 0.5em 0.75em;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.5;
	border: 1px solid var(--athought-color-border);
	border-radius: 4px;
	background: var(--athought-bg-panel);
	color: var(--athought-color-text);
}

.contact-form__input:focus {
	outline: 2px solid var(--athought-color-text);
	outline-offset: 2px;
}

.contact-form__textarea {
	min-height: 8em;
	resize: vertical;
}

.contact-form__submit-row {
	margin-top: calc(3 * var(--athought-space-unit));
}

.contact-form__submit {
	padding: 0.5em 1.25em;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 600;
	color: var(--athought-bg);
	background: var(--athought-color-link);
	border: 0;
	border-radius: 4px;
	cursor: pointer;
}

.contact-form__submit:hover,
.contact-form__submit:focus {
	opacity: 0.9;
}

.contact-form__submit:focus {
	outline: 2px solid var(--athought-color-text);
	outline-offset: 2px;
}

.contact-form-section__note {
	margin-top: calc(2 * var(--athought-space-unit));
	font-size: 0.875rem;
	color: var(--athought-color-meta);
}

/* -------------------------------------------------------------------------
   Site footer — black background, logo + byline, social icons, nav line
   Container: 1140px width (incl. gutter), 446px height, no bg; padding-top 45px.
   Logo full width of container; logo + social block have margin-bottom -89px.
   ------------------------------------------------------------------------- */
.site-footer {
	padding: 0 var(--athought-gutter);
	margin-top: auto;
	margin-bottom: 90px;
}

.site-footer__inner {
	width: 1140px;
	max-width: 100%;
	min-height: 446px;
	margin: 0 auto;
	text-align: center;
	padding-top: 45px;
	background: none;
	box-sizing: border-box;
	overflow: visible;
}

/* Wrapper for logo + overlay; nav (links, credits, copyright) follows below */
.site-footer__top {
	margin-bottom: 0;
	overflow: visible;
}

/* Logo only: full width of container; allow full height so logo isn't clipped */
.site-footer__branding {
	margin-bottom: 0;
	overflow: visible;
}

/* Grow and wiggle together; SVG stays crisp with transform (no zoom property) */
@keyframes footer-logo-wiggle {
	0%   { transform: scale(1) rotate(0deg); }
	20%  { transform: scale(1.2) rotate(-4deg); }
	40%  { transform: scale(1.5) rotate(4deg); }
	60%  { transform: scale(1.7) rotate(-2deg); }
	80%  { transform: scale(1.7) rotate(2deg); }
	100% { transform: scale(1.7) rotate(0deg); }
}

/* Reverse on mouse out: shrink and wiggle back */
@keyframes footer-logo-wiggle-reverse {
	0%   { transform: scale(1.7) rotate(0deg); }
	20%  { transform: scale(1.7) rotate(2deg); }
	40%  { transform: scale(1.5) rotate(-2deg); }
	60%  { transform: scale(1.2) rotate(4deg); }
	80%  { transform: scale(1.05) rotate(-4deg); }
	100% { transform: scale(1) rotate(0deg); }
}

/* Byline + social icons: overlay the logo, 30px higher */
.site-footer__overlay {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: -92px; /* -62px moved up 30px */
	position: relative;
}

.site-footer__logo {
	display: block;
	width: 100%;
	overflow: visible;
	font-family: var(--athought-font-heading);
	color: var(--athought-color-subheading); /* Blue — #0029FF */
	text-decoration: none;
	font-size: 2rem;
	font-weight: 400;
	transform-origin: center center;
	will-change: transform;
}

.site-footer__logo:hover,
.site-footer__logo:focus {
	color: var(--athought-color-link-hover);
	animation: footer-logo-wiggle 0.7s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

/* Reverse animation on mouse out (triggered by JS) */
.site-footer__logo.logo--shrinking {
	animation: footer-logo-wiggle-reverse 0.7s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

.site-footer__logo svg {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: middle;
	fill: currentColor;
	overflow: visible;
}

.site-footer__byline {
	margin: 0 160px 0 0;
	font-family: var(--athought-font-heading);
	font-size: 24px;
	letter-spacing: -0.05em;
	color: var(--athought-color-meta); /* Cerulean Frost */
}

/* Social icons row — left side of overlay, shifted 145px right; circular, brand colors */
.site-footer__icons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 20px;
	list-style: none;
	margin: 0 0 0 145px;
	padding: 0;
}

.site-footer__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	color: #fff;
	text-decoration: none;
	transition: transform 0.2s, opacity 0.2s;
}

.site-footer__icon-svg {
	display: block;
	width: 16px;
	height: 16px;
	line-height: 0;
}

.site-footer__icon-svg svg {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
}

.site-footer__icon.social-link--behance {
	background: #fff;
	color: #000;
}
.site-footer__icon.social-link--dribbble {
	background: #ea4c89;
}
.site-footer__icon.social-link--linkedin {
	background: #0077b5;
}
.site-footer__icon.social-link--instagram {
	background: linear-gradient(45deg, #f58529, #dd2a7b 40%, #8134af 70%, #515bd4);
}

/* Hover: blue circle, Caribbean green icon */
.site-footer__icon.social-link--behance:hover,
.site-footer__icon.social-link--behance:focus,
.site-footer__icon.social-link--dribbble:hover,
.site-footer__icon.social-link--dribbble:focus,
.site-footer__icon.social-link--linkedin:hover,
.site-footer__icon.social-link--linkedin:focus,
.site-footer__icon.social-link--instagram:hover,
.site-footer__icon.social-link--instagram:focus {
	background: var(--athought-color-subheading);
	color: var(--athought-color-link);
	transform: scale(2);
}

/* Active: Caribbean green circle, blue icon */
.site-footer__icon.social-link--behance:active,
.site-footer__icon.social-link--behance:hover:active,
.site-footer__icon.social-link--dribbble:active,
.site-footer__icon.social-link--dribbble:hover:active,
.site-footer__icon.social-link--linkedin:active,
.site-footer__icon.social-link--linkedin:hover:active,
.site-footer__icon.social-link--instagram:active,
.site-footer__icon.social-link--instagram:hover:active {
	background: var(--athought-color-link);
	color: var(--athought-color-subheading);
}

/* Nav: links, RSS, credits, copyright — below the overlay */
.site-footer__nav {
	margin-top: 60px;
}

/* Bottom row: page links group | 60px | RSS | 60px | credits + copyright group; all centered */
.site-footer__line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 60px;
	width: 100%;
}

.site-footer__line-left {
	display: flex;
	align-items: center;
}

.site-footer__line-center {
	display: flex;
	align-items: center;
}

.site-footer__line-right {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

/* Page links group — 15px gap between links, 16px font */
.site-footer__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 15px;
}

.site-footer__links li {
	display: inline;
}

.site-footer__links a {
	position: relative;
	display: inline-block;
	padding-bottom: var(--athought-underline-gap);
	font-size: 16px;
	color: var(--athought-color-link);
	text-decoration: none;
}

.site-footer__links a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.site-footer__links a:hover,
.site-footer__links a:focus {
	color: var(--athought-color-link-hover);
}

.site-footer__links a:hover::after,
.site-footer__links a:focus::after {
	transform: scaleX(1);
}

/* RSS link (center): icon + text, 16px — animated underline on hover */
.site-footer__rss-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	padding-bottom: var(--athought-underline-gap);
	font-size: 16px;
	color: var(--athought-color-link);
	text-decoration: none;
}

.site-footer__rss-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.site-footer__rss-link:hover,
.site-footer__rss-link:focus {
	color: var(--athought-color-link-hover);
}

.site-footer__rss-link:hover::after,
.site-footer__rss-link:focus::after {
	transform: scaleX(1);
}

.site-footer__rss-icon {
	flex-shrink: 0;
	color: var(--athought-color-link);
}

.site-footer__rss-link:hover .site-footer__rss-icon,
.site-footer__rss-link:focus .site-footer__rss-icon {
	color: var(--athought-color-link-hover);
}

.site-footer__credits-link {
	position: relative;
	display: inline-block;
	padding-bottom: var(--athought-underline-gap);
	font-size: 16px;
	color: var(--athought-color-link);
	text-decoration: none;
}

/* Button reset when credits trigger is a button */
button.site-footer__credits-link {
	background: none;
	border: none;
	padding: 0;
	font: inherit;
	color: var(--athought-color-link); /* Caribbean green by default */
	cursor: pointer;
}

/* Credits modal — overlay 80% rich black + blur 20; dialog blue, 25px radius, 1050×500 */
.credits-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--athought-gutter);
	visibility: hidden;
	perspective: 1600px;
	perspective-origin: center center;
}

.credits-modal.is-open,
.credits-modal.is-closing {
	visibility: visible;
}

.credits-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 5, 30, 0.8); /* 80% rich black */
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.5s var(--athought-ease-gentle);
}

.credits-modal.is-open .credits-modal__backdrop {
	opacity: 1;
}

.credits-modal.is-closing .credits-modal__backdrop {
	opacity: 0;
}

.credits-modal__dialog {
	position: relative;
	z-index: 1;
	width: 1050px;
	max-width: calc(100vw - 2 * var(--athought-gutter));
	height: 500px;
	max-height: calc(100vh - 2 * var(--athought-gutter));
	margin: auto;
	border-radius: 25px;
	box-sizing: border-box;
	overflow: hidden;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	transform: rotateX(22deg) translateY(100vh);
	transform-origin: center bottom;
	transition: transform 1.25s cubic-bezier(0.22, 1, 0.36, 1);
	transform-style: preserve-3d;
	backface-visibility: visible;
}

.credits-modal.is-open .credits-modal__dialog {
	transform: rotateX(0) translateY(0);
}

.credits-modal.is-closing .credits-modal__dialog {
	transform: rotateX(22deg) translateY(100vh);
}

.credits-modal__close {
	position: absolute;
	top: var(--athought-space-unit);
	right: var(--athought-space-unit);
	width: 44px;
	height: 44px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	box-shadow: none;
	cursor: pointer;
	z-index: 2;
	pointer-events: auto;
}

.credits-modal__close img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
	border: none;
	transition: transform 0.25s var(--athought-ease-gentle),
	            filter 0.25s var(--athought-ease-gentle);
}

.credits-modal__close:hover img {
	transform: scale(1.5);
	filter: brightness(1.15);
}

.credits-modal__close:focus {
	outline: 2px solid #ff0000;
	outline-offset: 2px;
}

.credits-modal__close:focus:not(:focus-visible) {
	outline: none;
}

.credits-modal__panels {
	display: flex;
	flex: 1;
	min-width: 0;
	width: 100%;
}

/* Left panel — 643px total width including padding; vibrant blue */
.credits-modal__left {
	position: relative;
	flex: 0 0 643px;
	width: 643px;
	min-width: 0;
	box-sizing: border-box;
	background: var(--athought-color-subheading); /* Vibrant blue */
	padding: calc(4 * var(--athought-space-unit));
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.credits-modal__image-wrap {
	position: absolute;
	left: 50px;
	top: 55px;
	width: 551px;
	height: 270px;
}

.credits-modal__portrait {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Wrapper for name + paragraph; 485px wide; title -5px from image (overlaps image by 5px from above) */
.credits-modal__left-text {
	position: absolute;
	left: 107px;
	top: 450px;
	transform: translateY(-100%);
	width: 485px;
}

/* Name + arrow link: Archivo Black 50px uppercase, -0.05em letter-spacing; pagination next 65px, 0 gap, vertical center; name on one line */
.credits-modal__person-name {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0;
	margin: 0;
	padding-bottom: 0;
	font-family: var(--athought-font-heading);
	font-size: 50px;
	line-height: 1;
	letter-spacing: -0.05em;
	text-transform: uppercase;
	color: var(--athought-color-link);
	text-decoration: none;
	transition: color var(--athought-transition-duration) ease;
	white-space: nowrap;
}

.credits-modal__person-name::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 4px; /* Pull line up closer to title and icon (positive = line sits higher) */
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.credits-modal__person-name:hover,
.credits-modal__person-name:focus {
	color: var(--athought-color-link-hover);
}

.credits-modal__person-name:hover::after,
.credits-modal__person-name:focus::after {
	transform: scaleX(1);
}

.credits-modal__person-name:focus {
	outline: 2px solid var(--athought-color-link);
	outline-offset: 2px;
}

.credits-modal__person-name-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: currentColor;
}

.credits-modal__person-name-icon .credits-modal__arrow-svg {
	width: 65px;
	height: 65px;
	display: block;
	fill: currentColor;
}

/* Paragraph: 85% of container (412.25px) on desktop; 16px Geologica, 1.5em line height, Water 80% */
.credits-modal__person-desc {
	margin: 0;
	margin-top: 5px;
	width: 85%;
	max-width: 412.25px;
	font-family: var(--athought-font-sans);
	font-size: 16px;
	line-height: 1.5em;
	color: rgba(202, 234, 255, 0.8); /* Water 80% */
}

/* Right panel — 407px wide (fills remainder after 643px left), 500px height; blue behind, inner has Rich Black 80% */
.credits-modal__right {
	flex: 1 0 407px;
	width: 407px;
	min-width: 407px;
	height: 500px;
	box-sizing: border-box;
	background: var(--athought-color-subheading); /* Blue behind the right section */
	display: flex;
	flex-direction: column;
}

.credits-modal__right-inner {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	background: rgba(0, 5, 30, 0.8); /* Rich Black 80% */
	padding: 60px 0 0 60px;
	overflow: auto;
	box-sizing: border-box;
}

/* Container for PLATFORMS title and intro paragraph only — 288px wide (platforms list is full width below) */
.credits-modal__right-content {
	width: 288px;
	max-width: 100%;
}

.credits-modal__section-title {
	margin: 0;
	font-family: var(--athought-font-heading);
	font-size: 1.75rem;
	font-weight: 400;
	letter-spacing: -0.05em;
	text-transform: uppercase;
	color: rgba(107, 158, 190, 0.7); /* Cerulean frost 70% */
}

.credits-modal__intro {
	margin: 5px 0 calc(3 * var(--athought-space-unit)); /* 5px gap below title */
	font-family: var(--athought-font-sans);
	font-size: 12px;
	line-height: 1.5em;
	color: rgba(202, 234, 255, 0.6); /* Water 60% */
}

/* Platforms list: aligned to bottom and left with paragraph above; 60px bottom padding */
.credits-modal__platforms {
	margin-top: auto;
	margin-left: 0;
	margin-bottom: 0;
	padding: 0 0 60px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px 30px;
	list-style: none;
}

.credits-modal__platform {
	margin: 0;
}

.credits-modal__platform-link {
	display: inline-flex;
	align-items: center;
	gap: var(--athought-space-unit);
	position: relative;
	padding-bottom: var(--athought-underline-gap);
	font-family: var(--athought-font-sans);
	font-size: 14px;
	color: var(--athought-color-link);
	text-decoration: none;
	transition: color var(--athought-transition-duration) ease;
}

.credits-modal__platform-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.credits-modal__platform-link:hover,
.credits-modal__platform-link:focus {
	color: var(--athought-color-link-hover);
}

.credits-modal__platform-link:hover::after,
.credits-modal__platform-link:focus::after {
	transform: scaleX(1);
}

.credits-modal__platform-link:focus {
	outline: 2px solid var(--athought-color-link);
	outline-offset: 2px;
}

.credits-modal__platform-icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.credits-modal__platform-name {
	font-family: var(--athought-font-sans);
	font-size: 14px;
	color: inherit;
}

@media (max-width: 700px) {
	.credits-modal__dialog {
		flex-direction: column;
		height: auto;
		max-height: 90vh;
	}

	.credits-modal__panels {
		flex-direction: column;
	}

	.credits-modal__left,
	.credits-modal__right {
		flex: none;
	}

	.credits-modal__image-wrap {
		min-height: 200px;
		margin: 0;
	}

	.credits-modal__platforms {
		grid-template-columns: 1fr;
	}
}

/* Image lightbox — rebuilt from scratch */
.image-lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s var(--athought-ease-gentle);
}

.image-lightbox.is-open {
	visibility: visible;
	opacity: 1;
}

.image-lightbox__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 5, 30, 0.85);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	cursor: pointer;
}

.image-lightbox__dialog {
	position: relative;
	z-index: 1;
	width: 100vw;
	height: 100vh;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 30px; /* 30px margin from viewport on all sides */
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	outline: none;
	box-shadow: none;
	transform: rotateX(22deg) translateY(100vh);
	transform-origin: center bottom;
	transition: transform 1.25s cubic-bezier(0.22, 1, 0.36, 1);
	transform-style: preserve-3d;
	backface-visibility: visible;
}

.image-lightbox.is-open .image-lightbox__dialog {
	transform: rotateX(0) translateY(0);
}

.image-lightbox.is-closing .image-lightbox__dialog {
	transform: rotateX(22deg) translateY(100vh);
}

.image-lightbox__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 0;
	box-sizing: border-box;
}

.image-lightbox__media-wrap {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	line-height: 0;
	overflow: hidden;
	border-radius: 0;
	background: transparent;
	border: none;
}

/* Both images fill the same container; JS controls a simple fade transition */
.image-lightbox__img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto; /* center within media-wrap */
	display: block;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain; /* never crop, scale to fit */
	object-position: center;
	vertical-align: top;
	border-radius: 0;
	transform: none;
	transition:
		opacity 0.4s var(--athought-ease-gentle);
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

.image-lightbox__img--current {
	z-index: 1;
	opacity: 1;
}

.image-lightbox__img--incoming {
	z-index: 0;
	opacity: 0;
}

/* Hide any image elements that do not yet have a valid src to avoid empty frames */
.image-lightbox__img[src=""],
.image-lightbox__img:not([src]) {
	opacity: 0;
}

/* During a slide, temporarily show both images */
.image-lightbox--sliding .image-lightbox__img {
	opacity: 1;
}

.image-lightbox__caption {
	margin: 0;
	padding: 30px 0;
	font-size: 16px;
	line-height: 1.5;
	color: var(--athought-color-meta);
	font-style: italic;
	text-align: center;
	max-height: 120px;
	overflow: hidden;
	opacity: 1;
	transition:
		max-height 0.4s var(--athought-ease-gentle),
		opacity 0.4s var(--athought-ease-gentle),
		padding-top 0.4s var(--athought-ease-gentle);
}

.image-lightbox__caption--hidden {
	max-height: 0;
	opacity: 0;
	padding-top: 0;
	padding-bottom: 0;
}

/* Prev/next overlay arrows — only visible when multiple images */
.image-lightbox__prev,
.image-lightbox__next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 44px;
	height: 44px;
	padding: 0;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(0, 41, 255, 0.5);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	border: none;
	border-radius: 50%;
	color: var(--athought-color-link);
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	outline: none;
	box-shadow: none;
	-webkit-tap-highlight-color: transparent;
	transition: background 0.2s var(--athought-ease-gentle),
	            color 0.2s var(--athought-ease-gentle);
}

.image-lightbox--multiple .image-lightbox__prev,
.image-lightbox--multiple .image-lightbox__next {
	display: flex;
}

.image-lightbox__prev[disabled],
.image-lightbox__next[disabled] {
	visibility: hidden;
	pointer-events: none;
}

.image-lightbox__prev {
	left: 24px;
}

.image-lightbox__next {
	right: 24px;
}

.image-lightbox__prev:hover,
.image-lightbox__prev:focus,
.image-lightbox__next:hover,
.image-lightbox__next:focus {
	background: var(--athought-color-subheading);
	color: var(--athought-color-link);
}

.image-lightbox__prev:active,
.image-lightbox__next:active {
	background: var(--athought-color-link);
	color: var(--athought-color-subheading);
}

.image-lightbox__prev:focus,
.image-lightbox__next:focus {
	outline: none;
}

.image-lightbox__prev:focus:not(:focus-visible),
.image-lightbox__next:focus:not(:focus-visible) {
	outline: none;
}

.image-lightbox__prev .image-lightbox__arrow-svg,
.image-lightbox__next .image-lightbox__arrow-svg {
	display: block;
	width: 32px;
	height: 32px;
}

.image-lightbox__close {
	position: absolute;
	top: 24px;
	right: 24px;
	width: 44px;
	height: 44px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	box-shadow: none;
	cursor: pointer;
	z-index: 4;
	pointer-events: auto;
}

.image-lightbox__close img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
	border: none;
	transition: transform 0.25s var(--athought-ease-gentle),
	            filter 0.25s var(--athought-ease-gentle);
}

.image-lightbox__close:hover img {
	transform: scale(1.5);
	filter: brightness(1.15);
}

.image-lightbox__close:focus {
	outline: none;
}

.site-footer__credits-link::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--athought-underline-duration) var(--athought-ease-gentle);
}

.site-footer__credits-link:hover,
.site-footer__credits-link:focus {
	color: var(--athought-color-link-hover);
}

.site-footer__credits-link:hover::after,
.site-footer__credits-link:focus::after {
	transform: scaleX(1);
}

.site-footer__copyright {
	margin: 0;
	font-size: 16px;
	color: var(--athought-color-meta); /* Cerulean Frost */
}

/* -------------------------------------------------------------------------
   Mobile nav — trigger (sticky bottom-right) and slide-out panel
   Hidden on desktop; shown and styled from 1024px down (tablet and mobile).
   ------------------------------------------------------------------------- */
.mobile-nav-wrap,
.mobile-nav-trigger,
.mobile-nav-overlay,
.mobile-nav-panel {
	display: none;
}

/* Mobile-only search (sibling of wrap): hide on desktop so it doesn’t appear as extra search box */
@media (min-width: 1025px) {
	.mobile-nav-panel__search {
		display: none;
	}
}

/* -------------------------------------------------------------------------
   Responsive — tablet (1024px) and mobile (768px, 640px)
   Mobile-first breakpoints: layout and typography scale down for small viewports.
   ------------------------------------------------------------------------- */

/* Tablet: 1024px and below */
@media (max-width: 1024px) {
	.site-header__inner {
		gap: var(--athought-space-unit);
	}

	.site-header.header--full .site-branding .site-title__link svg,
	.site-header.header--full .site-branding .site-title__link img {
		height: 120px;
	}

	.intro-section__about {
		margin-left: 24px;
		max-width: 320px;
	}

	.intro-section__social {
		margin-right: 24px;
	}

	.about-hero__inner {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		gap: calc(4 * var(--athought-space-unit));
	}

	.about-intro {
		column-gap: calc(3 * var(--athought-space-unit));
	}

	.about-blocks {
		gap: calc(4 * var(--athought-space-unit));
	}

	/* Reach page — tablet: stack hero, intro, form; no mouse-follow (touch); form stacked like comment form */
	.reach-hero__title {
		font-size: 120px;
		line-height: 0.85em;
	}

	.reach-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: calc(4 * var(--athought-space-unit));
	}

	.reach-hero__media {
		margin-right: 0;
		margin-top: 0;
		width: 100%;
		max-width: 400px;
		height: auto;
	}

	.reach-hero__image {
		width: 100%;
		height: auto;
		max-width: 100%;
	}

	.reach-intro__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: calc(4 * var(--athought-space-unit));
	}

	.reach-contact__form {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 20px;
	}

	.reach-contact__form .comment-form-comment {
		grid-column: 1;
		grid-row: auto;
	}

	.reach-contact__form .comment-form-right-column {
		grid-column: 1;
		grid-row: auto;
		min-height: 0;
		height: auto;
		flex-direction: column;
		gap: 20px;
		justify-content: flex-start;
	}

	.reach-contact__form .comment-form-comment textarea {
		width: 100%;
		height: 220px;
		min-height: 220px;
	}

	.featured-card__title {
		font-size: 56px;
	}

	.about-hero__title {
		font-size: 96px;
		line-height: 0.85em;
	}

	.featured-card__body {
		margin-top: -70px;
	}

	.featured-card__excerpt {
		font-size: 18px;
		line-height: 32px;
	}

	.front-page__more-heading {
		font-size: 40px;
	}

	.featured-card__excerpt {
		display: block;
		-webkit-line-clamp: unset;
		-webkit-box-orient: unset;
		overflow: visible;
	}

	.archive-card__excerpt {
		display: block;
		-webkit-line-clamp: unset;
		-webkit-box-orient: unset;
		overflow: visible;
	}

	/* Listings with summaries — indent summary text and link on tablet/mobile */
	.featured-card__summary-main {
		margin-left: 50px;
		max-width: calc(100% - 50px);
		width: 100%;
	}

	.archive-card__excerpt,
	.archive-card__link {
		margin-left: 50px;
		max-width: calc(100% - 50px);
		width: 100%;
	}

	.list-item__title {
		font-size: 24px;
	}

	.list-item__link {
		flex-wrap: wrap;
		gap: var(--athought-space-unit);
	}

	.archives-years__title,
	.archive-year__title,
	.archive-month__title {
		font-size: 80px;
	}

	.search-results__title {
		font-size: 80px;
	}

	.search-results__query {
		font-size: 40px;
	}

	.search-results__try-again {
		font-size: 60px;
	}

	.single-post__title,
	.single-page__title {
		font-size: 56px;
	}

	.entry-content h2,
	.entry-content h3,
	.entry-content h4,
	.entry-content h5,
	.entry-content h6 {
		font-size: 32px;
		line-height: 40px;
	}

	.entry-content blockquote {
		padding: 0 1em 1em 80px;
		background-size: 140px auto;
		font-size: 24px;
		line-height: 32px;
	}

	.entry-content blockquote p {
		font-size: 24px;
		line-height: 32px;
	}

	/* Mobile footer: 60px top / 120px bottom padding; logo → byline → social → links → RSS → credits/legal; all center-aligned */
	.site-footer__inner {
		min-height: auto;
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.site-footer__top {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.site-footer__branding {
		width: 100%;
		margin-bottom: 0;
	}

	.site-footer__overlay {
		margin-top: 0;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		gap: 1.5rem;
	}

	.site-footer__byline {
		margin: 0;
		order: 1;
		font-size: 16px;
	}

	.site-footer__icons {
		margin: 0;
		order: 2;
		justify-content: center;
		gap: 20px;
	}

	.site-footer__icon {
		width: 60px;
		height: 60px;
	}

	.site-footer__icon-svg {
		width: 28px;
		height: 28px;
	}

	.site-footer__nav {
		margin-top: 40px;
	}

	.site-footer__line {
		flex-direction: column;
		align-items: center;
		gap: 24px;
		text-align: center;
	}

	.site-footer__line-left,
	.site-footer__line-center,
	.site-footer__line-right {
		justify-content: center;
	}

	.site-footer__line-right {
		flex-direction: column;
		gap: 12px;
	}

	.site-footer__links {
		justify-content: center;
	}

	/* Disable logo hover animations and footer hover/focus interactions on tablet/mobile */
	.site-header .site-branding .site-title__link,
	.site-header .site-branding .site-title__link:hover,
	.site-header .site-branding .site-title__link:focus,
	.site-header .site-branding .site-title__link.logo--shrinking {
		animation: none !important;
		transform: none !important;
		will-change: auto;
	}

	.site-footer__logo:hover,
	.site-footer__logo:focus {
		color: var(--athought-color-subheading);
		animation: none;
	}

	.site-footer__logo.logo--shrinking {
		animation: none !important;
		transform: none !important;
	}

	/* On smaller screens, keep footer social color change but avoid large scale jump */
	.site-footer__icon.social-link--behance:hover,
	.site-footer__icon.social-link--behance:focus,
	.site-footer__icon.social-link--dribbble:hover,
	.site-footer__icon.social-link--dribbble:focus,
	.site-footer__icon.social-link--linkedin:hover,
	.site-footer__icon.social-link--linkedin:focus,
	.site-footer__icon.social-link--instagram:hover,
	.site-footer__icon.social-link--instagram:focus {
		transform: none;
	}

	.site-footer__links a:hover,
	.site-footer__links a:focus {
		color: var(--athought-color-link);
	}

	.site-footer__links a:hover::after,
	.site-footer__links a:focus::after {
		transform: scaleX(0);
	}

	.site-footer__rss-link:hover,
	.site-footer__rss-link:focus {
		color: var(--athought-color-link);
	}

	.site-footer__rss-link:hover::after,
	.site-footer__rss-link:focus::after {
		transform: scaleX(0);
	}

	.site-footer__rss-link:hover .site-footer__rss-icon,
	.site-footer__rss-link:focus .site-footer__rss-icon {
		color: var(--athought-color-link);
	}

	.site-footer__credits-link:hover,
	.site-footer__credits-link:focus {
		color: var(--athought-color-link);
	}

	.site-footer__credits-link:hover::after,
	.site-footer__credits-link:focus::after {
		transform: scaleX(0);
	}

	.credits-modal__left {
		flex: 0 0 50%;
		min-width: 0;
		width: auto;
	}

	.credits-modal__image-wrap {
		left: 20px;
		top: 20px;
		width: calc(100% - 40px);
		max-width: 400px;
		height: 200px;
	}

	.credits-modal__left-text {
		left: 20px;
		top: auto;
		bottom: 20px;
		transform: none;
		width: calc(100% - 40px);
		position: relative;
		left: auto;
		bottom: auto;
		margin-top: 1rem;
	}

	.credits-modal__person-name {
		font-size: 36px;
		white-space: normal;
	}

	.credits-modal__person-name-icon .credits-modal__arrow-svg {
		width: 48px;
		height: 48px;
	}

	.credits-modal__right {
		min-width: 0;
		flex: 1 1 auto;
	}

	.credits-modal__right-inner {
		padding: 30px 20px 20px 30px;
	}
}

/* Tablet and mobile: 1024px and below — same nav (slide-over) and header (logo only, no container) */
@media (max-width: 1024px) {
	:root {
		--athought-header-height-full: 180px;
		--athought-header-logo-height-full: 180px;
		--athought-header-padding-bottom-full: 24px;
		--athought-vertical-spacing: 60px;
	}

	/* Base: no header container — logo only, no bar/box (mobile-first) */
	.site-header {
		position: relative;
		top: auto;
		width: 100%;
		min-height: 0;
		padding: 0;
		background: transparent;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		border: none;
		box-shadow: none;
	}

	.site-header__nav-desktop {
		display: none;
	}

	.site-header__inner {
		grid-template-columns: 1fr;
		align-items: center;
		justify-items: center;
		gap: 0;
		width: 100%;
		max-width: 100%;
		min-height: 0;
		height: auto;
		padding: 0;
		margin: 0 auto;
	}

	/* Keep logo centered: branding only as wide as logo so grid centers it */
	.site-header .site-branding {
		justify-self: center;
		width: fit-content;
		max-width: 100%;
	}

	/* No logo wiggle on mobile/tablet — no animation, no transform, no will-change */
	.site-header .site-branding .site-title__link,
	.site-header .site-branding .site-title__link:hover,
	.site-header .site-branding .site-title__link:focus,
	.site-header .site-branding .site-title__link.logo--shrinking {
		animation: none !important;
		transform: none !important;
		will-change: auto;
	}

	.site-header .site-branding .site-title__link {
		display: inline-flex;
	}

	/* Mobile default: large logo, header scrolls with content */
	.site-header .site-branding .site-title__link svg,
	.site-header .site-branding .site-title__link img {
		height: 180px;
		transition: none; /* No transition so no movement when header state toggles */
	}

	/* No container on mobile — minimized state same as full: logo only */
	.site-header.header--minimized .site-header__inner {
		width: 100%;
		max-width: 100%;
		height: auto;
		min-height: 0;
		padding: 0;
		gap: 0;
	}

	.site-header.header--minimized .site-branding .site-title__link svg,
	.site-header.header--minimized .site-branding .site-title__link img {
		height: 180px;
	}

	/* Tablet (768–1024px): slightly smaller logo and breathing room; iPad mini portrait (768px) and landscape (1024px) */
	@media (min-width: 768px) and (max-width: 1024px) {
		.site-header__inner {
			padding-left: 15px;
			padding-right: 15px;
		}

		.site-header .site-branding .site-title__link svg,
		.site-header .site-branding .site-title__link img {
			height: 160px;
		}

		.site-header.header--minimized .site-branding .site-title__link svg,
		.site-header.header--minimized .site-branding .site-title__link img {
			height: 160px;
		}
	}

	.site-header.header--minimized {
		background: transparent;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		min-height: 0;
		padding: 0;
	}

	.main-navigation--left .primary-menu {
		gap: var(--athought-space-unit);
	}

	.site-header__right {
		gap: var(--athought-space-unit);
	}

	.site-header .main-navigation--left a,
	.site-header .site-header__archives {
		font-size: 14px;
	}

	.site-header__search {
		max-width: 120px;
		padding: 10px 12px;
	}

	/* Sticky mobile nav trigger — bottom right, Caribbean circle, blue icon */
	.mobile-nav-trigger {
		display: flex;
		align-items: center;
		justify-content: center;
		position: fixed;
		bottom: calc(60px + env(safe-area-inset-bottom, 0));
		right: calc(30px + env(safe-area-inset-right, 0));
		z-index: 1003; /* Above slide-over wrap (1002) so button stays visible */
		width: 56px;
		height: 56px;
		min-width: 44px;
		min-height: 44px;
		padding: 0;
		border: 0;
		border-radius: 15px;
		background: var(--athought-color-link); /* Caribbean square */
		color: var(--athought-color-subheading); /* Blue icon */
		cursor: pointer;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
		transition: background var(--athought-transition-duration) var(--athought-header-transition-ease),
		            color var(--athought-transition-duration) var(--athought-header-transition-ease);
	}

	.mobile-nav-trigger:hover,
	.mobile-nav-trigger:focus {
		background: var(--athought-color-link);
		color: var(--athought-color-subheading);
	}

	.mobile-nav-trigger:focus-visible {
		outline: 2px solid var(--athought-color-text);
		outline-offset: 3px;
	}

	/* Icon wrap: hamburger and cross stacked; visibility toggled by opacity (no 3D flip so cross is always visible when open) */
	.mobile-nav-trigger__icon-wrap {
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		width: 24px;
		height: 24px;
	}

	.mobile-nav-trigger__icon {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		inset: 0;
		transition: opacity var(--athought-transition-duration) var(--athought-header-transition-ease);
	}

	.mobile-nav-trigger__icon svg {
		width: 24px;
		height: 24px;
		fill: currentColor;
		filter: none;
	}

	/* Closed: show hamburger, hide cross */
	.mobile-nav-trigger__icon--cross {
		opacity: 0;
		pointer-events: none;
	}

	.mobile-nav-trigger.is-open {
		background: #ff0000; /* Container red when open */
		color: var(--athought-color-text); /* Cross in Water */
	}

	/* Open: show cross, hide hamburger — cross in Water, no filter */
	.mobile-nav-trigger.is-open .mobile-nav-trigger__icon--hamburger {
		opacity: 0;
		pointer-events: none;
	}

	.mobile-nav-trigger.is-open .mobile-nav-trigger__icon--cross {
		opacity: 1;
		pointer-events: auto;
		color: var(--athought-color-text);
	}

	.mobile-nav-trigger.is-open .mobile-nav-trigger__icon--cross svg,
	.mobile-nav-trigger.is-open .mobile-nav-trigger__icon--cross svg path {
		fill: var(--athought-color-text); /* Water — override SVG fill="none" on root so cross is visible */
		filter: none;
	}

	/* Wrapper: perspective for bottom slide (like credits modal) */
	.mobile-nav-wrap {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 1002;
		pointer-events: none;
		perspective: 1600px;
		perspective-origin: center bottom;
	}

	body.mobile-nav-open .mobile-nav-wrap {
		pointer-events: auto;
	}

	/* Overlay: rich black 80%, blur 10 */
	.mobile-nav-overlay {
		display: block;
		position: absolute;
		inset: 0;
		z-index: 1;
		background: rgba(0, 5, 30, 0.8);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		/* Short transition so background fade starts and finishes as soon as close is pressed */
		transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
	}

	body.mobile-nav-open .mobile-nav-overlay {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	/* Slide up + wiggle during the transition */
	@keyframes mobile-nav-panel-open {
		0% { transform: rotateX(22deg) translateY(100vh); }
		25% { transform: rotateX(10deg) translateY(75vh); }
		40% { transform: rotateX(-2deg) translateY(45vh); }
		55% { transform: rotateX(4deg) translateY(20vh); }
		70% { transform: rotateX(-1deg) translateY(5vh); }
		85% { transform: rotateX(2deg) translateY(0); }
		100% { transform: rotateX(0) translateY(0); }
	}

	/* Slide-over panel from bottom; grows upward with content, no internal scroll */
	.mobile-nav-panel {
		display: block;
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: auto;
		min-height: 280px;
		max-height: 90vh;
		z-index: 2;
		background: rgba(0, 41, 255, 0.2);
		border-top: 3px solid var(--athought-color-subheading);
		border-radius: 0;
		box-sizing: border-box;
		transform-origin: center bottom;
		transform: rotateX(22deg) translateY(100vh);
		transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);
		transform-style: preserve-3d;
		overflow: visible;
		visibility: visible;
	}

	body.mobile-nav-open .mobile-nav-panel {
		animation: mobile-nav-panel-open 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
		transition: none; /* use animation for open so wiggle is during slide */
	}

	.mobile-nav-panel[aria-hidden="false"] {
		visibility: visible;
	}

	/* Content aligned from bottom up: search at bottom, then nav, then logo; no internal scroll */
	.mobile-nav-panel__inner {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-end; /* align block (logo + nav) to bottom */
		min-height: 0;
		/* Bottom padding so nav links end 60px above search (search top = 116px); don’t move search */
		padding: calc(2 * var(--athought-space-unit) + env(safe-area-inset-top, 0)) 30px calc(116px + 60px + env(safe-area-inset-bottom, 0)) 30px;
		gap: 60px; /* between logo and links */
		position: relative;
	}

	/* Content slides in from left after panel opens — staggered (no delay on close) */
	.mobile-nav-panel__logo,
	.mobile-nav-panel__nav {
		transform: translateX(-24px);
		opacity: 0;
		transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1);
	}

	body.mobile-nav-open .mobile-nav-panel__logo {
		transform: translateX(0);
		opacity: 1;
		transition-delay: 1s;
	}

	body.mobile-nav-open .mobile-nav-panel__nav {
		transform: translateX(0);
		opacity: 1;
		transition-delay: 1.15s;
	}

	/* Logo: full width, 30px top and bottom margin, no gutter */
	.mobile-nav-panel__logo {
		flex-shrink: 0;
		margin: 30px -30px; /* break out of inner padding so full width; 30px top/bottom */
		width: calc(100% + 60px);
		text-align: left;
	}

	.mobile-nav-panel__logo-link {
		display: block;
		width: 100%;
		align-items: center;
		color: var(--athought-color-subheading);
		text-decoration: none;
	}

	.mobile-nav-panel__logo-link:hover,
	.mobile-nav-panel__logo-link:focus {
		color: var(--athought-color-subheading);
		opacity: 0.9;
	}

	.mobile-nav-panel__logo-link svg,
	.mobile-nav-panel__logo-link img {
		width: 100%;
		height: auto;
		display: block;
	}

	.mobile-nav-panel__logo-link svg {
		fill: currentColor;
		color: inherit;
	}

	/* Nav links: 15px vertical space, 30px font, Geologica */
	.mobile-nav-panel__nav {
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
		gap: 15px; /* between primary menu and Archives list */
	}

	.mobile-nav-panel__menu {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 15px;
	}

	.mobile-nav-panel__menu a {
		display: block;
		padding: 0;
		font-family: var(--athought-font-sans); /* Geologica */
		font-size: 30px;
		line-height: 1.3;
		color: var(--athought-color-link);
		text-decoration: none;
	}

	.mobile-nav-panel__menu a:hover,
	.mobile-nav-panel__menu a:focus {
		color: var(--athought-color-text);
	}

	/* Search: fixed; height matches close button (56px); bottom aligned; 60px gap to button (resize horizontally via left/right) */
	.mobile-nav-panel__search {
		display: block;
		position: fixed;
		height: 56px; /* match .mobile-nav-trigger height */
		bottom: calc(60px + env(safe-area-inset-bottom, 0));
		left: calc(30px + env(safe-area-inset-left, 0));
		right: calc(30px + 56px + 60px + env(safe-area-inset-right, 0)); /* 60px gap between search and close button */
		z-index: 1003;
		visibility: hidden;
		opacity: 0;
		transform: translateX(-24px);
		transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.4s cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 0.4s;
		pointer-events: none;
		box-sizing: border-box;
	}

	body.mobile-nav-open .mobile-nav-panel__search {
		visibility: visible;
		opacity: 1;
		transform: translateX(0);
		transition-delay: 1.3s;
		transition-property: transform, opacity, visibility;
		transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
		transition-duration: 0.4s;
		pointer-events: auto;
	}

	.mobile-nav-panel__search-form {
		display: flex;
		align-items: center;
		gap: var(--athought-space-unit);
		height: 100%;
		min-height: 0;
		box-sizing: border-box;
		padding: 10px 18px;
		background: transparent;
		border: 1px solid var(--athought-color-link);
		border-radius: 10px;
	}

	.mobile-nav-panel__search-form .search-form__field {
		flex: 1;
		min-width: 0;
		font-size: 16px;
		color: var(--athought-color-text);
		background: transparent;
		border: 0;
		outline: 0;
	}

	.mobile-nav-panel__search-form .search-form__field::placeholder {
		color: var(--athought-color-link);
		opacity: 0.9;
	}

	.mobile-nav-panel__search-form .search-form__submit {
		background: transparent;
		border: 0;
		color: var(--athought-color-link);
		cursor: pointer;
		padding: 0;
	}

	.mobile-nav-panel__search-form .search-form__icon {
		width: 22px;
		height: 22px;
		display: block;
		color: var(--athought-color-link);
	}

	#main {
		padding: var(--athought-vertical-spacing) var(--athought-gutter);
	}

	.intro-section {
		height: auto;
		min-height: 110px;
		padding: calc(2 * var(--athought-space-unit)) var(--athought-gutter);
	}

	.intro-section__inner {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		gap: calc(2 * var(--athought-space-unit));
		text-align: center;
	}

	.intro-section__visual {
		order: -1;
	}

	.intro-section__visual img {
		max-height: 80px;
		width: auto;
	}

	.intro-section__about {
		order: 0;
		margin-top: -10px;
		margin-left: 0;
		margin-right: 0;
		max-width: none;
		padding: 0;
	}

	.intro-section__text {
		font-size: 12px;
		letter-spacing: -0.05em;
	}

	.intro-section__social {
		order: 1;
		margin-top: 0;
		margin-bottom: 0;
		margin-right: 0;
		margin-left: 0;
		padding: 0;
		justify-content: center;
	}

	.intro-section__icons {
		justify-content: center;
		gap: 20px;
	}

	.intro-section__icon {
		width: 24px;
		height: 24px;
	}

	.intro-section__icon-svg {
		width: 12px;
		height: 12px;
	}

	/* Mobile: no hover effect on social links */
	.intro-section__icon:hover,
	.intro-section__icon:focus {
		transform: none;
	}
	.intro-section__icon.social-link--behance:hover,
	.intro-section__icon.social-link--behance:focus,
	.intro-section__icon.social-link--behance:active,
	.intro-section__icon.social-link--behance:hover:active {
		background: var(--athought-color-heading);
		color: var(--athought-bg);
	}
	.intro-section__icon.social-link--dribbble:hover,
	.intro-section__icon.social-link--dribbble:focus,
	.intro-section__icon.social-link--dribbble:active,
	.intro-section__icon.social-link--dribbble:hover:active {
		background: #EA4C89;
		color: var(--athought-color-heading);
	}
	.intro-section__icon.social-link--linkedin:hover,
	.intro-section__icon.social-link--linkedin:focus,
	.intro-section__icon.social-link--linkedin:active,
	.intro-section__icon.social-link--linkedin:hover:active {
		background: #007EBB;
		color: var(--athought-color-heading);
	}
	.intro-section__icon.social-link--instagram:hover,
	.intro-section__icon.social-link--instagram:focus,
	.intro-section__icon.social-link--instagram:active,
	.intro-section__icon.social-link--instagram:hover:active {
		background: linear-gradient(45deg, #FAAD4F 14.61%, #DD2A7B 39.38%, #9537B0 58.49%, #515BD4 85.39%);
		color: var(--athought-color-heading);
	}

	.featured-card__title {
		font-size: 36px;
	}

	.featured-card__meta {
		font-size: 12px;
		gap: 2px;
	}

	.featured-card__meta-segment {
		padding: 0 3px;
	}

	.featured-card__body {
		/* Mobile listing: pull summary up to overlap image more, similar to desktop */
		margin-top: -150px;
	}

	.featured-card__excerpt,
	.featured-card__excerpt p {
		font-size: 14px;
		line-height: 1.4;
	}

	.featured-card__excerpt {
		margin-bottom: 20px;
	}

	.archive-card__meta,
	.archive-card__date,
	.archive-card__categories {
		font-size: 12px;
	}

	.archive-card__meta {
		display: flex;
		flex-wrap: wrap;
		gap: 2px;
	}

	.archive-card__excerpt,
	.archive-card__excerpt p {
		font-size: 14px;
		line-height: 1.4;
	}

	.archive-card__link {
		font-size: 14px;
	}

	.list-item__meta {
		font-size: 12px;
		gap: 2px;
	}

	.single-post__meta,
	.single-page__meta {
		font-size: 12px;
		gap: 2px;
	}

	.single-post__meta-segment,
	.single-page__meta-segment {
		padding: 0 3px;
	}

	.single-post__comments .comment__meta {
		font-size: 12px;
		gap: 4px;
	}

	.featured-card__link {
		font-size: 14px;
	}

	/* Mobile only: tighten gap between title and featured image */
	.featured-card__header {
		margin-bottom: calc(2 * var(--athought-space-unit));
	}
	.featured-card__image-link {
		padding-top: 30px;
		padding-bottom: 80px;
		margin-top: -30px;
		margin-bottom: calc(3 * var(--athought-space-unit) - 80px);
	}
	/* Mobile: keep base overlay height; add extra 25%-height gradient layer on top for stronger lower fade */
	.featured-card__image-overlay {
		height: 60%;
	}
	.featured-card__image-overlay::after {
		content: "";
		position: absolute;
		inset: auto 0 0 0;
		height: 25%;
		pointer-events: none;
		background: linear-gradient(
			to top,
			rgba(0, 5, 30, 1) 0%,
			rgba(0, 5, 30, 0.98) 8%,
			rgba(0, 5, 30, 0.85) 25%,
			rgba(0, 5, 30, 0.6) 45%,
			rgba(0, 5, 30, 0.3) 70%,
			rgba(0, 5, 30, 0) 100%
		);
	}

	.front-page__more-heading {
		font-size: 32px;
	}

	.front-page__more-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		margin-bottom: calc(1 * var(--athought-space-unit));
	}

	/* Archives (years) page: list much closer to year title, link closer to list on mobile */
	.archives-years .front-page__more-header {
		margin-bottom: -0.2em;
	}
	.archives-years .front-page__list-bleed {
		margin-top: -0.15em;
	}
	.archives-years .front-page__more-see-all-after {
		margin-top: calc(0.5 * var(--athought-space-unit));
	}

	.front-page__more-wrap:has(.front-page__more-see-all-after) .front-page__more-header .front-page__more-see-all {
		display: none;
	}

	.front-page__more-see-all-after {
		display: block;
		margin-top: calc(1.5 * var(--athought-space-unit));
	}

	.front-page__more-see-all-after .front-page__more-see-all {
		margin-top: 0;
	}

	.front-page__more-see-all {
		margin-top: -0.15em;
	}

	.front-page__more-see-all:hover,
	.front-page__more-see-all:focus {
		color: var(--athought-color-link);
	}

	.front-page__more-see-all:hover::after,
	.front-page__more-see-all:focus::after {
		transform: scaleX(0);
	}

	.front-page__list li::before {
		transition: none;
	}

	.front-page__list li .list-item__title,
	.front-page__list li .list-item__meta,
	.front-page__list li .list-item__meta-icon,
	.front-page__list li .list-item__meta-text {
		transition: none;
	}

	.front-page__list li:hover::before,
	.front-page__list li:active::before {
		opacity: 0;
	}

	.front-page__list li:active::before {
		background-color: var(--athought-bg-list-item-hover);
	}

	.front-page__list li:hover .list-item__title {
		color: var(--athought-color-heading);
	}

	.front-page__list li:hover .list-item__meta,
	.front-page__list li:hover .list-item__meta-text {
		color: var(--athought-color-meta);
	}

	.front-page__list li:hover .list-item__meta-icon {
		color: var(--athought-color-link);
	}

	.front-page__list li:hover .list-item__meta-segment--date .list-item__meta-icon,
	.front-page__list li:active .list-item__meta-segment--date .list-item__meta-icon {
		color: var(--athought-color-subheading);
	}

	.front-page__list li:active .list-item__title {
		color: var(--athought-color-heading);
	}

	.front-page__list li:active .list-item__meta,
	.front-page__list li:active .list-item__meta-text {
		color: var(--athought-color-meta);
	}

	.front-page__list li:active .list-item__meta-icon {
		color: var(--athought-color-link);
	}

	.front-page__list li .list-item__meta-segment {
		transition: none;
	}

	.list-item__link {
		flex-direction: column;
		align-items: flex-start;
		padding: calc(2.25 * var(--athought-space-unit)) 0;
	}

	.list-item__title {
		font-size: 20px;
	}

	.archives-years__title,
	.archive-year__title,
	.archive-month__title {
		font-size: 56px;
	}

	.search-results__title {
		font-size: 56px;
	}

	.search-results__query {
		font-size: 28px;
	}

	.search-results__try-again {
		font-size: 42px;
	}

	.search-results__list {
		gap: 130px;
	}

	.search-results__list + .navigation.pagination,
	.search-results__list + .nav-links {
		margin-top: 130px;
	}

	/* Single post share bar — stacked and centered on tablet/mobile */
	.share-bar {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		padding: 20px var(--athought-gutter) 20px;
		gap: var(--athought-space-unit);
		margin-bottom: calc(3 * var(--athought-space-unit));
		text-align: center;
	}

	.share-bar__label {
		font-size: 16px;
		width: 100%;
		text-align: center;
	}

	.share-bar__list {
		justify-content: center;
	}

	.share-bar__link {
		width: 44px;
		height: 44px;
	}

	.share-bar__icon {
		width: 22px;
		height: 22px;
	}

	/* Single post: adjust top/bottom share bar padding on tablet/mobile */
	.single-post__content-container > .share-bar {
		padding-top: 10px;
	}

	.single-post__share-bar-bottom .share-bar {
		padding-top: 30px;
		padding-bottom: 0;
	}

	/* Single post: remove hover/focus visuals on tags and meta on tablet/mobile */
	.single-post__tag-link,
	.single-post__tag-link:hover,
	.single-post__tag-link:focus {
		color: var(--athought-color-link);
		background: rgba(0, 201, 131, 0.05);
		border-color: rgba(0, 201, 131, 0.2);
		box-shadow: none;
	}

	.single-post__meta-link,
	.single-post__meta-link:hover,
	.single-post__meta-link:focus {
		color: var(--athought-color-meta);
	}

	.single-post .entry-meta a,
	.single-post .entry-meta a:hover,
	.single-post .entry-meta a:focus {
		color: var(--athought-color-meta);
	}

	/* Single post comments: remove hover underline + opacity changes on mobile */
	.single-post__comments .comment__author-link,
	.single-post__comments .comment__author-link:hover,
	.single-post__comments .comment__author-link:focus {
		color: var(--athought-color-link);
		text-decoration: none;
	}

	.single-post__comments .comment__author-link::after,
	.single-post__comments .comment__author-link:hover::after,
	.single-post__comments .comment__author-link:focus::after {
		transform: scaleX(0);
	}

	/* Single post comments: halve padding on individual comment containers on mobile/tablet */
	.single-post__comments .comment-list > li {
		padding: 22.5px;
	}

	/* Single post comments: smaller avatar + border radius on mobile/tablet (tablet block overrides to 90px for 641–1024) */
	.single-post__comments .comment__avatar {
		width: 75px;
		height: 75px;
		border-radius: 7.5px;
	}

	.single-post__comments .comment__avatar img.comment__gravatar {
		max-width: 75px;
		max-height: 75px;
	}

	/* Single post comments: rescale avatar contents on mobile/tablet */
	.single-post__comments .comment__avatar img.comment__author-avatar {
		height: 58px; /* 50% of 116px */
	}

	.single-post__comments .comment__initials {
		font-size: 25px; /* 50% of 50px */
	}

	/* Single post comments: reduce main comment text size on mobile/tablet */
	.single-post__comments .comment__content,
	.single-post__comments .comment__content p {
		font-size: 14px;
		line-height: 24px;
	}

	/* Single post comment form: move "Your email..." / "However..." text after submit button on mobile/tablet */
	.single-post__comments .comment-form .form-submit {
		order: 1;
	}

	.single-post__comments .comment-form-disclaimers {
		order: 2;
	}

	.single-post__comments .comment-list > li.bypostauthor .comment__author-link,
	.single-post__comments .comment-list > li.comment--is-post-author .comment__author-link,
	.single-post__comments .comment-list > li.bypostauthor .comment__author-link:hover,
	.single-post__comments .comment-list > li.bypostauthor .comment__author-link:focus,
	.single-post__comments .comment-list > li.comment--is-post-author .comment__author-link:hover,
	.single-post__comments .comment-list > li.comment--is-post-author .comment__author-link:focus {
		color: var(--athought-color-link);
		opacity: 1;
	}

	/* Single post share icons: remove hover/active scale & color swap on tablet/mobile */
	.share-bar__link {
		transition: none;
	}

	.share-bar__link:hover,
	.share-bar__link:focus,
	.share-bar__link:active,
	.share-bar__link:hover:active {
		transform: none;
	}

	.share-bar__link--facebook,
	.share-bar__link--facebook:hover,
	.share-bar__link--facebook:focus,
	.share-bar__link--facebook:active,
	.share-bar__link--facebook:hover:active {
		background: #1877F2;
		color: #fff;
	}

	.share-bar__link--twitter,
	.share-bar__link--twitter:hover,
	.share-bar__link--twitter:focus,
	.share-bar__link--twitter:active,
	.share-bar__link--twitter:hover:active {
	background: #fff;
	color: #1C1C1B;
	}

	.share-bar__link--whatsapp,
	.share-bar__link--whatsapp:hover,
	.share-bar__link--whatsapp:focus,
	.share-bar__link--whatsapp:active,
	.share-bar__link--whatsapp:hover:active {
		background: #00E510;
		color: #fff;
	}

	/* Single post navigation cards: disable hover/focus color swap on tablet/mobile; keep radius/overflow for consistent clipping */
	.post-navigation__card,
	.post-navigation__card:hover,
	.post-navigation__card:focus {
		background-color: var(--athought-bg);
		color: var(--athought-color-link);
		border-radius: 12px;
		overflow: hidden;
	}

	.post-navigation__card:hover .post-navigation__bg,
	.post-navigation__card:focus .post-navigation__bg {
		opacity: 0.4;
	}

	.post-navigation__card--no-image,
	.post-navigation__card--no-image:hover,
	.post-navigation__card--no-image:focus {
		background-color: rgba(0, 41, 255, 0.05);
		border-color: rgba(0, 41, 255, 0.1);
	}

	.single-post__title,
	.single-page__title {
		font-size: 36px;
		line-height: 1.2;
	}

	.single-post__meta,
	.single-post__tags-row .single-post__tags {
		flex-wrap: wrap;
	}

	.single-post__tags-row .single-post__tags {
		gap: 6px;
		margin-left: 0;
	}

	.single-post__body-container {
		padding-left: 0;
		padding-right: 0;
		gap: 40px;
	}

	.single-post__summary {
		padding-bottom: 40px;
	}

	.single-post__summary-title {
		font-size: 24px;
	}

	.single-post__comments {
		margin-left: 0;
		margin-right: 0;
		margin-top: 30px;
		padding: 60px 0 0;
		padding-left: 0;
		padding-right: 0;
	}

	.single-post__comments .comments-area__title {
		font-size: 36px;
		line-height: 1.2;
		margin-bottom: 24px;
	}
	.single-post__comments .comment-reply-title {
		font-size: 36px;
		line-height: 1.2;
		margin: 40px 0 24px;
	}

	.single-post__comments .comment-form {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 20px;
	}

	.single-post__comments .comment-form .comment-form-comment {
		grid-column: 1;
		grid-row: auto;
	}

	.single-post__comments .comment-form .comment-form-right-column {
		grid-column: 1;
		grid-row: auto;
		min-height: 0;
		height: auto;
		flex-direction: column;
		gap: 20px;
		justify-content: flex-start;
	}

	.single-post__comments .comment-form textarea {
		width: 100%;
		height: 220px;
		min-height: 220px;
	}

	.single-post__comments .comment-form .comment-notes,
	.single-post__comments .comment-form .form-allowed-tags {
		margin-top: 30px;
	}

	.entry-content,
	.entry-content p {
		font-size: 18px;
		line-height: 30px;
	}

	.entry-content h2,
	.entry-content h3,
	.entry-content h4,
	.entry-content h5,
	.entry-content h6 {
		font-size: 26px;
		line-height: 34px;
	}

	.entry-content blockquote {
		margin: 24px 0;
		padding: 1.2em 1em 0.8em 60px;
		background-size: 100px auto;
		background-position: 12px 12px;
		font-size: 20px;
		line-height: 28px;
	}

	.entry-content blockquote p {
		font-size: 20px;
		line-height: 28px;
	}

	.single-post__content-container {
		gap: 40px;
	}

	.post-navigation {
		margin-left: 0;
		margin-right: 0;
		margin-top: 60px;
	}

	.comments-empty__banner {
		flex-direction: column;
		row-gap: 16px;
	}

	.comments-empty__oh-no {
		font-size: 40px;
	}

	.comments-empty__visual img {
		width: 80px;
	}

	.comments-empty__line,
	.comments-empty__cta {
		font-size: 16px;
		text-align: center;
	}

	.site-footer__inner {
		min-height: auto;
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.site-footer__top {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.site-footer__branding {
		width: 100%;
		margin-bottom: 0;
	}

	.site-footer__overlay {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		margin-top: 0;
		gap: 1.5rem;
	}

	.site-footer__byline {
		margin: 0;
		order: 1;
		font-size: 16px;
	}

	.site-footer__icons {
		margin: 0;
		order: 2;
		justify-content: center;
		gap: 20px;
	}

	.site-footer__icon {
		width: 60px;
		height: 60px;
	}

	.site-footer__icon-svg {
		width: 28px;
		height: 28px;
	}

	.site-footer__nav {
		margin-top: 40px;
	}

	.site-footer__line {
		flex-direction: column;
		align-items: center;
		gap: 24px;
		text-align: center;
	}

	.site-footer__line-left,
	.site-footer__line-center,
	.site-footer__line-right {
		justify-content: center;
	}

	.site-footer__line-right {
		flex-direction: column;
		gap: 12px;
	}

	.site-footer__links {
		justify-content: center;
	}

	.navigation.pagination .nav-links {
		gap: 20px;
	}

	/* Summary listings: adapted gap for tablet (60px extra → 40px extra) */
	.posts-list--featured-cards {
		gap: 130px;
	}

	.posts-list--featured-cards + .navigation.pagination,
	.posts-list--featured-cards + .nav-links {
		margin-top: 130px;
	}

	.posts-list--archive-cards {
		gap: 85px;
	}

	.posts-list--archive-cards + .nav-links {
		margin-top: 85px;
	}

	.featured-card__summary-row,
	.archive-card__summary-row {
		flex-direction: column;
		align-items: flex-start;
	}

	.featured-card__summary-tag,
	.archive-card__summary-tag {
		padding: 5px 10px;
		margin: 0 0 5px;
	}

	/* Mobile only: no hover state for Continue reading */
	.featured-card__link:hover,
	.featured-card__link:focus {
		color: var(--athought-color-link);
	}
	.featured-card__link:hover::after,
	.featured-card__link:focus::after {
		transform: scaleX(0);
	}

	/* Credits modal — MOBILE ONLY (max-width: 768px). None of these overrides apply to desktop (769px+). */
	.credits-modal {
		padding: 15px;
		align-items: center;
		justify-content: center;
	}

	.credits-modal__dialog {
		display: flex;
		flex-direction: column;
		height: auto;
		max-height: calc(100vh - 30px);
		max-height: calc(100dvh - 30px);
		overflow: hidden;
		width: 100%;
		max-width: calc(100vw - 30px);
		border-radius: 25px;
		margin: auto;
	}

	.credits-modal__close-separator {
		flex-shrink: 0;
		margin: 30px 0;
		height: 1px;
		background: repeating-linear-gradient(
			to right,
			rgba(202, 234, 255, 0.4) 0,
			rgba(202, 234, 255, 0.4) 12px,
			transparent 12px,
			transparent 24px
		);
	}

	.credits-modal__close {
		position: relative;
		top: auto;
		right: auto;
		width: auto;
		height: auto;
		margin: 0 15px 0 15px;
		margin-bottom: calc(15px + env(safe-area-inset-bottom, 0));
		padding: 0;
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		background: transparent;
		box-sizing: border-box;
	}

	.credits-modal__close img {
		display: block;
		margin: 0 auto;
	}

	.credits-modal__panels {
		flex-direction: column;
		order: 0;
		flex: 0 0 auto;
		min-height: 0;
		overflow: hidden;
		display: flex;
	}

	.credits-modal__left {
		flex: 0 0 auto;
		width: 100%;
		background: var(--athought-color-subheading);
		padding: 15px var(--athought-gutter) 15px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
		overflow: hidden;
	}

	.credits-modal__image-wrap {
		position: relative;
		left: auto;
		top: auto;
		width: 100%;
		max-width: 100%;
		height: auto;
		min-height: 0;
		margin: 0 auto;
		flex-shrink: 0;
		align-self: center;
	}

	.credits-modal__image-wrap .credits-modal__portrait {
		width: 100%;
		height: auto;
		max-height: 32vh;
		object-fit: contain;
		object-position: center;
		display: block;
		vertical-align: middle;
	}

	.credits-modal__left-text {
		position: relative;
		left: auto;
		bottom: auto;
		transform: none;
		width: 100%;
		max-width: 100%;
		margin-top: 15px;
		padding: 0 var(--athought-gutter);
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		flex-shrink: 0;
		min-width: 0;
	}

	.credits-modal__person-name {
		display: inline-flex;
		align-items: center;
		justify-content: flex-start;
		gap: 0.25rem;
		font-size: 28px;
		white-space: normal;
		text-align: left;
		color: var(--athought-color-link);
	}

	.credits-modal__person-name-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		align-self: center;
		line-height: 0;
		transform: translateY(-0.08em);
	}

	.credits-modal__person-name-icon .credits-modal__arrow-svg {
		width: 32px;
		height: 32px;
		display: block;
		vertical-align: middle;
	}

	.credits-modal__person-desc {
		align-self: stretch;
		width: 100%;
		max-width: 100%;
		margin-top: 5px;
		text-align: left;
		font-size: 16px;
		line-height: 1.5;
		color: rgba(202, 234, 255, 0.8); /* Water 80% — same as desktop */
	}

	.credits-modal__right {
		flex: 0 0 auto;
		height: auto;
		min-height: 0;
		width: 100%;
		overflow: hidden;
		background: var(--athought-color-subheading); /* Same as desktop */
		display: flex;
		flex-direction: column;
	}

	.credits-modal__right-inner {
		flex: 0 0 auto;
		min-height: 0;
		overflow: hidden;
		padding: 1rem var(--athought-gutter) 15px;
		padding-left: calc(var(--athought-gutter) + 15px);
		box-sizing: border-box;
		background: rgba(0, 5, 30, 0.8); /* Rich Black 80% — same as desktop */
		display: flex;
		flex-direction: column;
	}

	.credits-modal__right-content {
		width: 100%;
		max-width: 100%;
		min-height: 0;
		flex-shrink: 0;
	}

	.credits-modal__section-title {
		text-align: left;
		font-size: 28px;
		color: rgba(107, 158, 190, 0.7); /* Cerulean frost 70% — same as desktop */
		margin: 0 0 5px 0;
		flex-shrink: 0;
	}

	.credits-modal__intro {
		font-size: 12px;
		line-height: 1.5;
		color: rgba(202, 234, 255, 0.6); /* Water 60% — same as desktop */
		text-align: left;
		margin: 0 0 1.5rem 0;
		flex-shrink: 0;
	}

	.credits-modal__platforms {
		grid-template-columns: 1fr 1fr;
		gap: 1rem 1.5rem;
		padding-bottom: 0;
		margin-top: 0;
		min-height: 0;
		flex: 0 0 auto;
		align-content: start;
	}

	.credits-modal__platform-link {
		font-size: 12px;
		color: var(--athought-color-link); /* Same as desktop */
	}

	.credits-modal__platform-name {
		font-size: 12px;
		color: inherit; /* Same as desktop — inherits link green */
	}

	.credits-modal__platform-icon {
		width: 14px;
		height: 14px;
		flex-shrink: 0;
	}

	/* Disable credits modal hover/focus interactions on mobile */
	.credits-modal__close:hover img {
		transform: none;
		filter: none;
	}

	.credits-modal__close:focus {
		outline: none;
	}

	.credits-modal__close:focus-visible {
		outline: 2px solid var(--athought-color-text);
		outline-offset: 2px;
	}

	.credits-modal__person-name:hover,
	.credits-modal__person-name:focus {
		color: var(--athought-color-link);
	}

	.credits-modal__person-name:hover::after,
	.credits-modal__person-name:focus::after {
		transform: scaleX(0);
	}

	.credits-modal__person-name:focus {
		outline: none;
	}

	.credits-modal__person-name:focus-visible {
		outline: 2px solid var(--athought-color-link);
		outline-offset: 2px;
	}

	.credits-modal__platform-link:hover,
	.credits-modal__platform-link:focus {
		color: var(--athought-color-link);
	}

	.credits-modal__platform-link:hover::after,
	.credits-modal__platform-link:focus::after {
		transform: scaleX(0);
	}

	.credits-modal__platform-link:focus {
		outline: none;
	}

	.credits-modal__platform-link:focus-visible {
		outline: 2px solid var(--athought-color-link);
		outline-offset: 2px;
	}
}

/* Mobile: 768px and below — share buttons tighter */
@media (max-width: 768px) {
	.reach-contact__header {
		margin-top: 0;
	}

	.image-lightbox {
		padding: 0;
	}

	.image-lightbox__dialog {
		width: 100vw;
		max-width: 100vw;
		height: 100vh;
		height: 100dvh;
		max-height: 100vh;
		max-height: 100dvh;
	}

	.image-lightbox__inner {
		padding: 0;
	}

	.image-lightbox__close {
		position: relative;
		top: auto;
		right: auto;
		align-self: center;
		margin: 0 15px;
		margin-top: auto;
		margin-bottom: calc(15px + env(safe-area-inset-bottom, 0));
	}

	/* Share buttons: 50% larger than prior mobile sizing */
	.share-bar__label {
		margin-bottom: 10px;
	}

	.share-bar__list {
		gap: 30px;
	}

	.share-bar__link {
		width: 39px;
		height: 39px;
	}

	.share-bar__icon {
		width: 27px;
		height: 27px;
	}

	/* Summary listings: adapted gap for mobile (60px extra → 30px extra) */
	.posts-list--featured-cards {
		gap: 90px;
	}

	.posts-list--featured-cards + .navigation.pagination,
	.posts-list--featured-cards + .nav-links {
		margin-top: 90px;
	}

	.posts-list--archive-cards {
		gap: 70px;
	}

	.posts-list--archive-cards + .nav-links {
		margin-top: 70px;
	}

	.search-results__list {
		gap: 90px;
	}

	.search-results__list + .navigation.pagination,
	.search-results__list + .nav-links {
		margin-top: 90px;
	}
}

/* Small mobile: 640px and below */
@media (max-width: 640px) {
	:root {
		--athought-header-height-full: 160px;
		--athought-header-logo-height-full: 144px;
		--athought-header-padding-bottom-full: 20px;
		--athought-vertical-spacing: 45px;
	}

	.site-header .site-branding .site-title__link svg,
	.site-header .site-branding .site-title__link img {
		height: 144px;
		transition: none;
	}

	.site-header.header--minimized .site-header__inner {
		height: var(--athought-header-height-full);
		min-height: var(--athought-header-height-full);
		padding: var(--athought-header-padding-top) 0 var(--athought-header-padding-bottom-full);
	}

	.site-header.header--minimized .site-branding .site-title__link svg,
	.site-header.header--minimized .site-branding .site-title__link img {
		height: 144px;
	}

	.featured-card__title {
		font-size: 28px;
	}

	.about-hero__title {
		font-size: 56px;
		line-height: 0.9em;
	}

	/* Reach page — small mobile refinements */
	.reach-hero__title {
		font-size: 64px;
	}

	.reach-contact__form {
		padding-top: calc(3 * var(--athought-space-unit));
		padding-bottom: calc(3 * var(--athought-space-unit));
		padding-left: 0;
		padding-right: 0;
	}

	.reach-contact__submit {
		width: 100%;
		justify-content: center;
	}

	/* Intro: ensure paragraphs stack vertically; gap between paragraphs max 30px */
	.about-intro {
		column-count: 1;
	}

	.about-intro p {
		margin-bottom: 30px;
	}

	.about-intro p:last-child {
		margin-bottom: 0;
	}

	/* Hide social media section on mobile */
	.about-main__social {
		display: none;
	}

	/* Mobile: stack portfolio then social blocks vertically */
	.about-blocks {
		display: flex;
		flex-direction: column;
		gap: calc(5 * var(--athought-space-unit));
	}

	/* Summary listings: adapted gap for small mobile (60px extra → 20px extra) */
	.posts-list--featured-cards {
		gap: 70px;
	}

	.posts-list--featured-cards + .navigation.pagination,
	.posts-list--featured-cards + .nav-links {
		margin-top: 70px;
	}

	.posts-list--archive-cards {
		gap: 60px;
	}

	.posts-list--archive-cards + .nav-links {
		margin-top: 60px;
	}

	.search-results__list {
		gap: 70px;
	}

	.search-results__list + .navigation.pagination,
	.search-results__list + .nav-links {
		margin-top: 70px;
	}

	/* Portfolio: expand by content, logo and text aligned to top */
	.about-portfolio {
		order: 1;
		width: 100%;
		height: auto;
		max-height: none;
		margin-left: 0;
		margin-right: 0;
		align-items: flex-start;
		/* Mobile default: Caribbean green 10% background, Caribbean green border */
		background: rgba(0, 201, 131, 0.1);
		border-color: var(--athought-color-link);
	}

	.about-portfolio__body {
		align-items: flex-start;
	}

	.about-main__social-icon {
		width: 48px;
		height: 48px;
	}

	.featured-card__body {
		/* Keep strong overlap even on smallest screens */
		margin-top: -150px;
	}

	.front-page__more-heading {
		font-size: 28px;
	}

	.list-item__title {
		font-size: 18px;
	}

	.archives-years__title,
	.archive-year__title,
	.archive-month__title {
		font-size: 42px;
	}

	.search-results__title {
		font-size: 42px;
	}

	.search-results__query {
		font-size: 21px;
	}

	.search-results__try-again {
		font-size: 32px;
	}

	.search-results__header--empty {
		margin-top: 0;
	}

	.single-post__title,
	.single-page__title {
		font-size: 28px;
	}

	.single-post__comments .comments-area__title {
		font-size: 28px;
	}
	.single-post__comments .comment-reply-title {
		font-size: 28px;
	}

	/* Mobile: allow long inline links (e.g., YouTube URLs) to wrap within text instead of jumping to a new line */
	.entry-content a {
		display: inline;
		padding-bottom: 0;
	}

	.entry-content a::after {
		bottom: 0;
	}

	.entry-content blockquote {
		margin: 24px 0;
		padding: 0 1em 0.8em 60px;
		background-image: url("../images/quote.svg");
		background-repeat: no-repeat;
		background-size: 90px auto;
		background-position: 12px 12px;
		font-size: 18px;
		line-height: 28px;
	}

	.entry-content blockquote p {
		font-size: 18px;
		line-height: 28px;
	}

	.site-header__search {
		max-width: 100px;
	}

	.contact-form__input {
		max-width: none;
	}

	.mobile-nav-trigger {
		bottom: calc(60px + env(safe-area-inset-bottom, 0));
		right: calc(30px + env(safe-area-inset-right, 0));
	}
}

@media (min-width: 768px) {
	/* Desktop/tablet: nudge summary text up so its top aligns with tag border */
	.featured-card__summary-main,
	.archive-card__excerpt {
		margin-top: -10px;
	}
}

