/*
Theme Name: Fabidha Safar-Rahman
Theme URI: https://fabidha.mystagingwebsite.com
Author: Monoblock
Author URI: https://monoblock.ae
Description: Portfolio theme for Fabidha Safar-Rahman, Founder & Creative Director of Design Matter.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fabidha
*/

/* ---------- Tokens ---------- */

:root {
	--fsr-bg: #F7F3EC;
	--fsr-bg-alt: #F0EADD;
	--fsr-ink: #241F1A;
	--fsr-body: #4A4238;
	/* Darker than the original #8A7E6F / #9A7B54 so small labels and links meet 4.5:1 contrast. */
	--fsr-muted: #6E604F;
	--fsr-accent: #7A5F3E;
	/* The original gold, kept for large figures where 3:1 is enough. */
	--fsr-accent-display: #9A7B54;
	--fsr-accent-light: #EBDFCC;
	--fsr-line: #E3DACB;
	--fsr-line-strong: #D9CBB6;
	--fsr-dark-bg: #221D17;
	--fsr-dark-ink: #F2EBDF;
	--fsr-dark-body: #CFC4B2;
	--fsr-dark-accent: #D8B98C;
	--fsr-dark-line: #3A332A;
	--fsr-dark-muted: #A99C88;

	--fsr-serif: 'Newsreader', Georgia, serif;
	--fsr-sans: 'Geist', system-ui, sans-serif;

	--fsr-max: 1200px;
	--fsr-gutter: clamp(20px, 5vw, 48px);
	--fsr-gap: clamp(32px, 6vw, 80px);
}

.home {
	--fsr-max: 1280px;
	--fsr-gutter: clamp(20px, 5vw, 56px);
}

/* ---------- Base ---------- */

html,
body {
	margin: 0;
	background: var(--fsr-bg);
	color: var(--fsr-ink);
}

body {
	font-family: var(--fsr-sans);
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: #E8DFD0;
}

a {
	color: var(--fsr-ink);
	text-decoration: none;
}

a:hover {
	color: var(--fsr-accent);
}

.wp-site-blocks p,
.wp-site-blocks h1,
.wp-site-blocks h2,
.wp-site-blocks h3,
.wp-site-blocks figure {
	margin: 0;
}

.wp-site-blocks img {
	display: block;
	max-width: 100%;
}

/* Template parts render inside a wrapper div; keep it out of the layout. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* ---------- Layout ---------- */

.fsr-band {
	width: 100%;
}

.fsr-band + .fsr-band,
.fsr-hero + .fsr-band {
	border-top: 1px solid var(--fsr-line);
}

.fsr-band--alt {
	background: var(--fsr-bg-alt);
}

.fsr-band--dark {
	background: var(--fsr-dark-bg);
	color: var(--fsr-dark-ink);
}

.fsr-band + .fsr-band--dark,
.fsr-band--dark + .fsr-band {
	border-top-color: var(--fsr-dark-line);
}

.fsr-band--dark + .fsr-band:not(.fsr-band--dark) {
	border-top: 0;
}

.fsr-wrap {
	max-width: var(--fsr-max);
	margin: 0 auto;
	padding: clamp(56px, 10vw, 100px) var(--fsr-gutter);
	box-sizing: border-box;
}

.fsr-wrap--narrow {
	max-width: 1000px;
}

.fsr-grid {
	display: grid;
	gap: var(--fsr-gap);
	align-items: start;
}

.fsr-grid--280 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: clamp(32px, 6vw, 64px); }
.fsr-grid--320 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.fsr-grid--340 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); }
.fsr-grid--360 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); }
.fsr-grid--center { align-items: center; }
.fsr-grid--end { align-items: end; }

/* ---------- Header ---------- */

.fsr-header {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 40px;
	justify-content: space-between;
	align-items: center;
	padding: 30px var(--fsr-gutter);
	border-bottom: 1px solid var(--fsr-line);
}

.fsr-logo {
	font-family: var(--fsr-serif);
	font-size: 20px;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1.3;
}

.home .fsr-logo {
	font-size: 22px;
}

.fsr-logo a {
	color: var(--fsr-ink);
}

.fsr-nav {
	color: var(--fsr-muted);
}

.fsr-nav,
.fsr-nav .wp-block-page-list {
	display: flex;
	flex-wrap: wrap;
	row-gap: 12px;
	column-gap: clamp(16px, 2.4vw, 32px);
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fsr-nav a,
.fsr-nav .wp-block-navigation-item__content {
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--fsr-muted);
	padding-bottom: 2px;
	border-bottom: 1px solid transparent;
}

.home .fsr-nav .wp-block-navigation-item__content {
	font-size: 11.5px;
	letter-spacing: 0.16em;
}

.fsr-nav .wp-block-navigation-item__content:hover,
.fsr-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--fsr-accent);
}

.fsr-nav .current-menu-item > .wp-block-navigation-item__content {
	border-bottom-color: var(--fsr-accent);
}

/* ---------- Type ---------- */

.fsr-h1 {
	font-family: var(--fsr-serif);
	font-weight: 300;
	font-size: clamp(37px, 4.92vw, 64px);
	line-height: 1.06;
	text-wrap: pretty;
	color: var(--fsr-ink);
}

.fsr-h1--hero { font-size: clamp(36px, 5.6vw, 76px); line-height: 1.04; letter-spacing: -0.01em; }
.fsr-h1--profile { font-size: clamp(34px, 4.46vw, 58px); line-height: 1.08; margin-bottom: 40px !important; }
.fsr-h1--work { font-size: clamp(44px, 5.85vw, 76px); max-width: 860px; }
.fsr-h1--contact { font-size: clamp(42px, 5.54vw, 72px); max-width: 820px; }

.fsr-h2 {
	font-family: var(--fsr-sans);
	font-weight: 400;
	font-size: clamp(22px, 2.31vw, 30px);
	line-height: 1.2;
	margin-bottom: 28px !important;
}

.fsr-band--dark .fsr-h2 { color: var(--fsr-dark-ink); }
.fsr-h2--section { font-size: clamp(23px, 3.08vw, 40px); margin-bottom: 0 !important; }
.fsr-h2--sector { font-weight: 300; font-size: clamp(28px, 3.69vw, 48px); line-height: 1.1; margin-bottom: 56px !important; }
.fsr-h2--feature { font-weight: 300; font-size: clamp(30px, 4vw, 52px); line-height: 1.1; }

.fsr-eyebrow {
	font-size: 11.5px;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--fsr-accent);
	margin-bottom: 20px !important;
}

.fsr-page-head .fsr-eyebrow { letter-spacing: 0.26em; margin-bottom: 26px !important; }
.fsr-profile .fsr-eyebrow { margin-bottom: 24px !important; }
.fsr-band--dark .fsr-eyebrow { color: var(--fsr-dark-accent); }
.fsr-sectors .fsr-eyebrow { letter-spacing: 0.2em; margin-bottom: 12px !important; }
.fsr-band--dark .fsr-eyebrow + .fsr-h2--sector { margin-top: -4px; }

.fsr-label {
	font-size: 11.5px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--fsr-muted);
}

.fsr-label-heading {
	font-size: 11.5px;
	font-weight: 400;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--fsr-muted);
	margin-bottom: 44px !important;
}

.fsr-intro {
	margin-top: 28px !important;
	max-width: 520px;
	font-size: 16px;
	line-height: 1.85;
	color: var(--fsr-body);
}

.fsr-h1--work + .fsr-intro {
	margin-top: 36px !important;
	max-width: 560px;
}

.fsr-prose {
	display: grid;
	gap: 18px;
	font-size: 15.5px;
	line-height: 1.8;
	color: var(--fsr-body);
}

.fsr-pov .fsr-prose,
.fsr-prose--profile {
	gap: 20px;
	font-size: 16px;
	line-height: 1.85;
}

.fsr-pov .fsr-prose { padding-top: 10px; }
.fsr-prose--profile { gap: 24px; max-width: 560px; }

.fsr-band--dark p {
	font-size: 16px;
	line-height: 1.85;
	color: var(--fsr-dark-body);
	text-wrap: pretty;
}

.fsr-lead {
	font-weight: 300;
	font-size: clamp(26px, 3.7vw, 34px);
	line-height: 1.4;
	text-wrap: pretty;
}

.fsr-statement {
	font-weight: 300;
	font-size: clamp(23px, 3.08vw, 40px);
	line-height: 1.35;
	max-width: 860px;
	text-wrap: pretty;
	margin-bottom: 70px !important;
}

.fsr-band--dark p.fsr-statement--sm {
	font-size: clamp(22px, 2.31vw, 30px);
	line-height: 1.45;
	color: var(--fsr-dark-ink);
	margin-bottom: 0 !important;
}

.fsr-caption,
.fsr-band--dark p.fsr-caption {
	margin-top: 16px !important;
	font-size: 11.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--fsr-dark-muted);
}

/* Text link: accent, uppercase, hairline underline. */
.fsr-textlink a,
.wp-block-button.is-style-fsr-text .wp-block-button__link {
	display: inline-block;
	font-size: 11.5px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--fsr-accent);
	border-bottom: 1px solid var(--fsr-line-strong);
	padding-bottom: 3px;
}

.fsr-morelink a {
	font-size: 11.5px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--fsr-muted);
}

/* "Design Matter" mentions in body copy, linked to the studio site. */
.fsr-dm {
	border-bottom: 1px solid var(--fsr-line-strong);
}

.fsr-band--dark a.fsr-dm {
	color: inherit;
	border-bottom-color: #6B5A43;
}

.fsr-band--dark a.fsr-dm:hover {
	color: var(--fsr-dark-accent);
}

/* ---------- Buttons ---------- */

.fsr-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	margin-top: 40px;
}

.wp-block-button .wp-block-button__link {
	font-family: var(--fsr-sans);
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	line-height: 1.6;
	border-radius: 0;
	background: none;
	color: var(--fsr-ink);
	transition: none;
}

.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid var(--fsr-ink);
	padding: 14px 28px;
	color: var(--fsr-ink);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background: var(--fsr-ink);
	color: var(--fsr-bg);
}

.wp-block-button.is-style-fsr-text .wp-block-button__link {
	font-size: 11px;
	padding: 14px 0 3px;
	border-radius: 0;
}

.wp-block-button.is-style-fsr-accent .wp-block-button__link {
	border: 1px solid var(--fsr-accent);
	padding: 15px 32px;
	color: var(--fsr-accent);
}

.wp-block-button.is-style-fsr-accent .wp-block-button__link:hover {
	background: var(--fsr-accent);
	color: var(--fsr-bg);
}

/* ---------- Home ---------- */

.fsr-hero {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	min-height: 82vh;
}

.fsr-hero__media {
	position: relative;
	min-height: clamp(340px, 90vw, 480px);
}

.fsr-hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 22%;
}

.fsr-hero__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(56px, 10vw, 80px) clamp(32px, 6vw, 96px);
	box-sizing: border-box;
}

.fsr-hero__intro {
	margin-top: 32px;
	max-width: 440px;
	font-size: 16px;
	line-height: 1.85;
	color: var(--fsr-body);
}

.fsr-pov {
	padding-top: clamp(56px, 10vw, 110px);
	padding-bottom: clamp(56px, 10vw, 110px);
}

.fsr-figures {
	display: grid;
	gap: 48px;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
}

.fsr-figures--band { padding-top: clamp(56px, 10vw, 90px); padding-bottom: clamp(56px, 10vw, 90px); }
.fsr-figures--two { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }

.fsr-figure__value {
	font-size: clamp(27px, 3.54vw, 46px);
	color: var(--fsr-accent-display);
}

.fsr-figure__label {
	margin-top: 8px !important;
	font-size: 11.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--fsr-muted);
}

.fsr-figures--two .fsr-figure__value { font-size: clamp(32px, 4.31vw, 56px); line-height: 1; }
.fsr-figures--two .fsr-figure__label { margin-top: 10px !important; }

.fsr-work {
	padding-top: clamp(56px, 10vw, 90px);
	padding-bottom: 110px;
}

.fsr-section-head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 24px;
	margin-bottom: 48px;
}

.fsr-cards .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fsr-cards .wp-block-post { min-width: 0; margin: 0; }

.fsr-card__img img {
	width: 100%;
	height: clamp(300px, 70vw, 440px) !important;
	object-fit: cover;
}

.fsr-card__title {
	padding: 20px 4px 0;
	margin-bottom: 4px !important;
	font-family: var(--fsr-sans);
	font-size: 23px;
	font-weight: 400;
	line-height: 1.3;
}

.fsr-card__meta {
	padding: 0 4px;
	font-size: 11.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--fsr-muted);
}

.fsr-testimonial {
	padding-top: clamp(56px, 10vw, 110px);
	padding-bottom: clamp(56px, 10vw, 110px);
}

.fsr-band--dark p.fsr-quote {
	font-weight: 300;
	font-style: italic;
	font-size: 24px;
	line-height: 1.55;
	color: var(--fsr-dark-ink);
}

.fsr-band--dark p.fsr-quote--lg {
	font-size: clamp(22px, 2.31vw, 30px);
	line-height: 1.5;
}

.fsr-band--dark p.fsr-cite {
	margin-top: 32px !important;
	font-size: 11.5px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--fsr-dark-accent);
}

.fsr-band--dark p.fsr-cite--muted {
	margin-top: 24px !important;
	letter-spacing: 0.16em;
	color: var(--fsr-dark-muted);
}

/* ---------- About ---------- */

.fsr-profile {
	padding-top: clamp(56px, 10vw, 110px);
}

.fsr-portrait img {
	width: 100%;
	height: clamp(300px, 70vw, 600px);
	object-fit: cover;
	object-position: 50% 40%;
}

.fsr-principles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 48px;
}

.fsr-principle {
	border-top: 1px solid var(--fsr-line);
	padding-top: 20px;
	font-size: 15px;
	line-height: 1.75;
	color: var(--fsr-body);
}

.fsr-photo img {
	width: 100%;
	object-fit: cover;
}

.fsr-photo--300 img { height: 300px; }
.fsr-photo--460 img { height: clamp(300px, 70vw, 460px); }

/* ---------- Recognition ---------- */

.fsr-page-head {
	padding-top: clamp(56px, 10vw, 120px);
	padding-bottom: 80px;
}

.fsr-page-head.fsr-grid { gap: clamp(32px, 6vw, 64px); }

.fsr-awards {
	padding: 0;
}

.fsr-award {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: center;
	padding: 52px var(--fsr-gutter);
	border-bottom: 1px solid var(--fsr-line);
}

.fsr-award__title {
	font-size: clamp(27px, 3.54vw, 46px);
	font-weight: 300;
	line-height: 1.15;
}

.fsr-award__source {
	margin-top: 10px !important;
	font-size: 13.5px;
	letter-spacing: 0.06em;
	color: var(--fsr-muted);
}

.fsr-award__year {
	font-size: clamp(22px, 2.46vw, 32px);
	color: var(--fsr-accent-display);
}

.fsr-band--dark .fsr-grid--320 { gap: clamp(32px, 6vw, 72px); }

.fsr-press-wrap {
	padding-top: clamp(56px, 10vw, 80px);
}

.fsr-press {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 2px;
	background: var(--fsr-line);
	border: 1px solid var(--fsr-line);
}

.fsr-press__card {
	position: relative;
	min-width: 0;
	background: var(--fsr-bg);
	padding: 36px 32px;
}

.fsr-press__source {
	margin-bottom: 12px !important;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--fsr-accent);
}

.fsr-press__title {
	font-size: 24px;
	line-height: 1.3;
	font-weight: 300;
}

/* Whole card is the link target. */
.fsr-press__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* ---------- Work ---------- */

.fsr-sector {
	padding-top: clamp(56px, 10vw, 90px);
	padding-bottom: clamp(56px, 10vw, 90px);
}

.fsr-rows .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fsr-rows .wp-block-post + .wp-block-post {
	margin-top: 80px;
}

.fsr-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: clamp(32px, 6vw, 64px);
	align-items: center;
}

.fsr-row__img img {
	width: 100%;
	height: clamp(300px, 70vw, 480px) !important;
	object-fit: cover;
}

/* Alternate image side on wide screens; on narrow screens the image always comes first. */
@media (min-width: 720px) {
	.fsr-rows:not(.fsr-rows--stacked) .wp-block-post:nth-child(even) .fsr-row__img {
		order: 2;
	}
}

.fsr-row__title {
	margin-bottom: 6px !important;
	font-family: var(--fsr-sans);
	font-size: clamp(22px, 2.62vw, 34px);
	font-weight: 300;
	line-height: 1.25;
}

.fsr-row__meta {
	margin-bottom: 24px !important;
	font-size: 11.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--fsr-accent);
}

.fsr-row__body {
	display: grid;
	gap: 18px;
	font-size: 15.5px;
	line-height: 1.8;
	color: var(--fsr-body);
}

/* Residential towers: wide image, then figures and text side by side. Title and meta are in the image's place. */
.fsr-rows--stacked .fsr-row {
	display: block;
}

.fsr-rows--stacked .fsr-row__img {
	margin-bottom: 56px;
}

.fsr-rows--stacked .fsr-row__title,
.fsr-rows--stacked .fsr-row__meta {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.fsr-split {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: clamp(32px, 6vw, 64px);
	align-items: start;
}

/* Image height per sector, as in the design. */
.fsr-rows--h440 .fsr-row__img img { height: clamp(300px, 70vw, 440px) !important; }
.fsr-rows--h520 .fsr-row__img img { height: clamp(300px, 70vw, 520px) !important; }

/* By year table */
.fsr-mb-48 { margin-bottom: 48px !important; }

.fsr-years {
	overflow-x: auto;
}

.fsr-years table {
	min-width: 640px;
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	font-family: var(--fsr-sans);
}

.fsr-years th:nth-child(1), .fsr-years td:nth-child(1) { width: 15.1%; }
.fsr-years th:nth-child(2), .fsr-years td:nth-child(2) { width: 11.3%; }
.fsr-years th:nth-child(3), .fsr-years td:nth-child(3) { width: 18.9%; }
.fsr-years th:nth-child(4), .fsr-years td:nth-child(4) { width: 22.6%; }

.fsr-years th {
	text-align: left;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--fsr-dark-muted);
	padding: 0 0 16px;
	border: 0;
	border-bottom: 1px solid #6B5A43;
}

.fsr-years td {
	padding: 22px 0;
	border: 0;
	border-bottom: 1px solid var(--fsr-dark-line);
	font-size: clamp(22px, 2.77vw, 36px);
	font-weight: 300;
	color: var(--fsr-dark-ink);
	vertical-align: baseline;
}

.fsr-years td:first-child {
	font-size: 22px;
	color: var(--fsr-dark-accent);
}

.fsr-sectors {
	margin-top: clamp(48px, 8vw, 90px);
}

.fsr-band--dark p.fsr-bignum {
	font-weight: 300;
	font-size: clamp(70px, 9.23vw, 120px);
	line-height: 1;
	color: var(--fsr-dark-ink);
}

.fsr-band--dark p.fsr-bignum__label {
	margin-top: 8px !important;
	font-size: 15.5px;
}

.fsr-bars {
	display: grid;
	gap: 16px;
	font-size: 11.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--fsr-dark-body);
}

.fsr-bar {
	display: grid;
	grid-template-columns: minmax(96px, 150px) 1fr 28px;
	gap: 16px;
	align-items: center;
}

.fsr-bar__track {
	height: 6px;
	background: var(--fsr-dark-line);
}

.fsr-bar__track span {
	display: block;
	height: 6px;
	background: #C9B595;
}

.fsr-bar.is-max .fsr-bar__track span {
	background: var(--fsr-dark-accent);
}

.fsr-bar__value {
	font-size: 22px;
	letter-spacing: 0;
	color: var(--fsr-dark-ink);
	text-align: right;
}

/* ---------- Contact ---------- */

.fsr-page-contact .wp-site-blocks {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.fsr-page-contact .fsr-main {
	flex: 1;
}

.fsr-contact {
	padding-top: clamp(56px, 10vw, 120px);
	padding-bottom: clamp(56px, 10vw, 120px);
}

.fsr-contact .fsr-eyebrow {
	letter-spacing: 0.26em;
	margin-bottom: 26px !important;
}

.fsr-contact__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 48px;
	max-width: 960px;
	margin-top: clamp(48px, 8vw, 90px);
}

.fsr-contact__grid--social {
	margin-top: 64px;
	padding-top: 48px;
	border-top: 1px solid var(--fsr-line);
}

.fsr-contact .fsr-label { margin-bottom: 10px !important; }
.fsr-contact__grid--social .fsr-label { margin-bottom: 14px !important; }

.fsr-contact__value {
	font-size: 24px;
}

.fsr-contact__item:nth-child(3) .fsr-contact__value {
	line-height: 1.4;
}

.fsr-contact__links {
	display: grid;
	gap: 8px;
	font-size: 22px;
}

.fsr-actions--contact {
	margin-top: clamp(48px, 8vw, 80px);
}

/* ---------- Footer ---------- */

/* Light accent band; hairlines a step darker so they stay visible on the tint. */
.fsr-footer {
	--fsr-line: #D6C6AD;
	--fsr-line-strong: #BFA987;
	background: var(--fsr-accent-light);
}

.fsr-footer a:hover {
	color: var(--fsr-accent);
}

.fsr-footer .fsr-wrap {
	max-width: calc(var(--fsr-max) + 2 * var(--fsr-gutter));
	padding-top: clamp(48px, 7vw, 72px);
	padding-bottom: clamp(48px, 7vw, 72px);
}

.home .fsr-footer .fsr-wrap {
	max-width: var(--fsr-max);
}

.fsr-footer__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
	gap: 40px 48px;
}

.fsr-footer__label {
	margin-bottom: 16px !important;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--fsr-muted);
}

.fsr-footer__col p:not(.fsr-footer__label),
.fsr-footer__pages {
	font-size: 15px;
	line-height: 1.9;
	color: var(--fsr-body);
}

.fsr-footer__pages {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fsr-footer__pages .current-menu-item > a {
	color: var(--fsr-accent);
}

.fsr-footer__base {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px 32px;
	padding-bottom: 32px;
}

.fsr-footer__mark {
	font-family: var(--fsr-serif);
	font-weight: 300;
	font-size: 32px;
	line-height: 1.2;
	letter-spacing: 0.02em;
}

/* ---------- Touch targets ---------- */

/* Header and "All projects" links get a ~44px hit area on touch screens without changing the layout. Footer links already sit on 28px lines. */
@media (pointer: coarse) {
	.fsr-nav .wp-block-navigation-item__content,
	.fsr-morelink a {
		display: inline-block;
		padding-block: 12px;
		margin-block: -12px;
	}
}

/* ---------- Generic (404, fallback) ---------- */

.fsr-generic {
	padding-top: clamp(56px, 10vw, 120px);
	padding-bottom: clamp(56px, 10vw, 120px);
}

.fsr-mt-40 { margin-top: 40px !important; }

/* ---------- Editor ---------- */

.editor-styles-wrapper .fsr-hero__media img {
	position: static;
	height: 100%;
	min-height: 480px;
}
