/*
Theme Name: Rumah Teduh
Theme URI: https://jraeo.com/
Description: Child theme for Rumah Teduh — a warm, editorial home-decor journal built on GeneratePress.
Author: Rumah Teduh
Template: generatepress
Version: 1.0.0
Text Domain: rumah-teduh
*/

/* ---------------------------------------------------------
   Fonts
--------------------------------------------------------- */
@font-face {
	font-family: 'Cormorant Garamond';
	src: url('assets/fonts/cormorant-garamond-latin.woff2') format('woff2');
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Jost';
	src: url('assets/fonts/jost-latin.woff2') format('woff2');
	font-weight: 300 600;
	font-style: normal;
	font-display: swap;
}

/* ---------------------------------------------------------
   Design tokens
--------------------------------------------------------- */
:root {
	--rt-cream: #f7f3ec;
	--rt-paper: #fffdf8;
	--rt-sand: #eae1d3;
	--rt-sand-deep: #d7c7b2;
	--rt-ink: #2c2a27;
	--rt-ink-soft: #3a3732;
	--rt-muted: #6b665d;
	--rt-terracotta: #b56a4a;
	--rt-terracotta-dark: #8f4e34;
	--rt-olive: #6f7457;
	--rt-forest: #2f3a2f;
	--rt-line: rgba(44, 42, 39, 0.14);
	--rt-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--rt-sans: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--rt-wrap: 1200px;
	--rt-gutter: clamp(1.25rem, 4vw, 3rem);
	--rt-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* ---------------------------------------------------------
   Base
--------------------------------------------------------- */
html {
	scroll-behavior: smooth;
}

body,
body button,
body input,
body select,
body textarea {
	font-family: var(--rt-sans);
}

body {
	background: var(--rt-cream);
	color: var(--rt-ink);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.rt-site {
	overflow-x: hidden;
}

::selection {
	background: var(--rt-terracotta);
	color: #fff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--rt-serif);
	font-weight: 500;
	line-height: 1.04;
	letter-spacing: -0.015em;
	color: var(--rt-ink);
}

h1 {
	font-size: clamp(2.9rem, 5.6vw, 5rem);
}

h2 {
	font-size: clamp(2.2rem, 4vw, 3.7rem);
}

h3 {
	font-size: clamp(1.5rem, 2.4vw, 2rem);
}

h4 {
	font-size: 1.25rem;
}

p {
	margin: 0 0 1.35em;
}

a {
	color: var(--rt-terracotta);
	text-decoration: none;
	transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

a:hover,
a:focus {
	color: var(--rt-ink);
}

img {
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

hr {
	border: 0;
	border-top: 1px solid var(--rt-line);
	margin: 2.5rem 0;
}

button,
input,
select,
textarea {
	font-size: 1rem;
}

/* ---------------------------------------------------------
   Layout helpers
--------------------------------------------------------- */
.rt-wrap {
	width: min(var(--rt-wrap), calc(100% - (var(--rt-gutter) * 2)));
	margin-inline: auto;
}

.rt-section {
	padding: clamp(4.5rem, 9vw, 8.5rem) 0;
	position: relative;
}

.rt-section--sand {
	background: var(--rt-sand);
}

.rt-section--paper {
	background: var(--rt-paper);
}

.rt-section--forest {
	background: var(--rt-forest);
	color: var(--rt-cream);
}

.rt-section--forest h2,
.rt-section--forest h3,
.rt-section--forest p,
.rt-section--forest .rt-eyebrow {
	color: var(--rt-cream);
}

.rt-section--forest .rt-eyebrow {
	color: rgba(247, 243, 236, 0.6);
}

.rt-eyebrow {
	margin: 0 0 1.15rem;
	font-family: var(--rt-sans);
	font-size: 0.64rem;
	font-weight: 500;
	letter-spacing: 0.24em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--rt-olive);
}

.rt-text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	border-bottom: 1px solid currentColor;
	padding-bottom: 0.16rem;
	font-size: 0.64rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--rt-ink);
}

.rt-text-link:hover {
	color: var(--rt-terracotta);
}

.rt-btn,
.wp-block-button__link,
button[type='submit'],
input[type='submit'],
.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	border: 1px solid var(--rt-terracotta);
	border-radius: 999px;
	background: var(--rt-terracotta);
	color: #fff;
	padding: 0.95rem 1.55rem;
	font-family: var(--rt-sans);
	font-size: 0.66rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.rt-btn:hover,
.wp-block-button__link:hover,
button[type='submit']:hover,
input[type='submit']:hover,
.button:hover {
	background: var(--rt-ink);
	border-color: var(--rt-ink);
	color: #fff;
	transform: translateY(-1px);
}

.rt-btn--ghost {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.55);
	color: #fff;
}

.rt-btn--ghost:hover {
	background: var(--rt-cream);
	border-color: var(--rt-cream);
	color: var(--rt-ink);
}

.rt-btn--dark {
	background: var(--rt-ink);
	border-color: var(--rt-ink);
	color: var(--rt-cream);
}

.rt-btn--dark:hover {
	background: var(--rt-terracotta);
	border-color: var(--rt-terracotta);
}

/* Article link colors are more specific than the base button rule. */
.entry-content a.rt-btn,
.entry-content a.rt-btn:hover {
	color: #fff;
}

.entry-content a.rt-btn--ghost {
	color: #fff;
}

.entry-content a.rt-btn--ghost:hover {
	color: var(--rt-ink);
}

.entry-content a.rt-btn--dark {
	color: var(--rt-cream);
}

.entry-content a.rt-btn--dark:hover {
	color: #fff;
}

/* ---------------------------------------------------------
   Header
--------------------------------------------------------- */
.site-header {
	background: var(--rt-cream);
	border-bottom: 1px solid var(--rt-line);
	z-index: 30;
}

.inside-header {
	padding: 1.25rem var(--rt-gutter);
	max-width: none;
}

.site-branding {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.site-title {
	margin: 0;
	font-family: var(--rt-serif);
	font-size: clamp(1.9rem, 2.6vw, 2.45rem);
	font-weight: 600;
	letter-spacing: 0.015em;
	line-height: 0.9;
}

.site-title a,
.site-title a:hover {
	color: var(--rt-ink);
}

.site-description {
	margin: 0.42rem 0 0;
	font-family: var(--rt-sans);
	font-size: 0.58rem;
	font-weight: 400;
	letter-spacing: 0.24em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--rt-olive);
}

.main-navigation,
.main-navigation ul,
.main-navigation ul ul {
	background: transparent;
}

.main-navigation .main-nav ul li a {
	padding: 0.55rem 0.85rem;
	font-family: var(--rt-sans);
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1.6;
	text-transform: uppercase;
	color: var(--rt-ink);
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li a:focus,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a {
	color: var(--rt-terracotta);
}

.main-navigation .main-nav ul li.menu-item-has-children > a::after {
	font-size: 0.55rem;
}

.menu-toggle {
	color: var(--rt-ink);
}

.menu-toggle:hover,
.menu-toggle:focus {
	color: var(--rt-terracotta);
}

.top-bar {
	background: var(--rt-forest);
	color: rgba(247, 243, 236, 0.82);
	font-size: 0.62rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.top-bar .inside-top-bar {
	max-width: none;
	padding: 0.5rem var(--rt-gutter);
}

.top-bar a {
	color: var(--rt-cream);
}

.top-bar a:hover {
	color: var(--rt-sand-deep);
}

.top-bar .widget {
	margin: 0;
}

/* ---------------------------------------------------------
   Home — hero
--------------------------------------------------------- */
.home .site-content,
.home .inside-article,
.page .site-content,
.page .inside-article {
	padding: 0;
	background: transparent;
}

.home .entry-header,
.page.rt-has-hero .entry-header {
	display: none;
}

.home .entry-content,
.page .entry-content {
	margin: 0;
}

.rt-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: min(88vh, 860px);
	overflow: hidden;
	background-color: var(--rt-ink);
	background-position: center;
	background-size: cover;
	color: #fff;
}

.rt-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(23, 22, 19, 0.04) 0%, rgba(23, 22, 19, 0.16) 42%, rgba(23, 22, 19, 0.72) 100%);
}

.rt-hero__inner {
	position: relative;
	z-index: 2;
	width: min(var(--rt-wrap), calc(100% - (var(--rt-gutter) * 2)));
	margin: 0 auto;
	padding: clamp(7rem, 13vw, 11rem) 0 clamp(4rem, 8vw, 6rem);
}

.rt-hero .rt-eyebrow {
	color: rgba(255, 255, 255, 0.72);
}

.rt-hero h1 {
	max-width: 920px;
	margin: 0 0 1.35rem;
	font-size: clamp(3.5rem, 7.6vw, 7.2rem);
	font-weight: 500;
	line-height: 0.9;
	letter-spacing: -0.025em;
	color: #fff;
}

.rt-hero__lead {
	max-width: 560px;
	margin-bottom: 2.1rem;
	font-size: clamp(1rem, 1.3vw, 1.1rem);
	line-height: 1.7;
	color: rgba(255, 255, 255, 0.84);
}

.rt-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.rt-hero__caption {
	position: absolute;
	right: var(--rt-gutter);
	bottom: 2.2rem;
	z-index: 2;
	margin: 0;
	writing-mode: vertical-rl;
	font-size: 0.58rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.62);
}

/* ---------------------------------------------------------
   Home — intro
--------------------------------------------------------- */
.rt-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: start;
}

.rt-intro h2 {
	max-width: 680px;
	margin: 0;
}

.rt-intro__copy {
	max-width: 470px;
	padding-top: 0.55rem;
	color: var(--rt-muted);
}

.rt-intro__copy p:first-child {
	font-size: 1.1rem;
	line-height: 1.7;
	color: var(--rt-ink-soft);
}

.rt-intro__copy .rt-text-link {
	margin-top: 0.5rem;
}

.rt-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: clamp(3rem, 6vw, 5rem);
	padding-top: 1.8rem;
	border-top: 1px solid var(--rt-line);
}

.rt-stats strong {
	display: block;
	font-family: var(--rt-serif);
	font-size: clamp(2.2rem, 3.6vw, 3.1rem);
	font-weight: 500;
	line-height: 1;
	color: var(--rt-terracotta);
}

.rt-stats span {
	display: block;
	margin-top: 0.45rem;
	font-size: 0.6rem;
	font-weight: 500;
	letter-spacing: 0.17em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--rt-muted);
}

/* ---------------------------------------------------------
   Section headings
--------------------------------------------------------- */
.rt-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 2rem;
	margin-bottom: clamp(2.2rem, 4vw, 3.4rem);
}

.rt-section-head h2 {
	max-width: 680px;
	margin: 0;
}

.rt-section-head .rt-text-link {
	flex: 0 0 auto;
	margin-bottom: 0.35rem;
}

/* ---------------------------------------------------------
   Collection cards
--------------------------------------------------------- */
.rt-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.4rem;
}

.rt-card {
	display: flex;
	flex-direction: column;
	background: var(--rt-paper);
	color: var(--rt-ink);
	transition: transform 0.45s var(--rt-ease), box-shadow 0.45s var(--rt-ease);
}

.rt-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 24px 52px rgba(44, 42, 39, 0.09);
	color: var(--rt-ink);
}

.rt-card__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background: var(--rt-sand-deep);
}

.rt-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--rt-ease);
}

.rt-card:hover .rt-card__media img {
	transform: scale(1.045);
}

.rt-card__number {
	position: absolute;
	top: 1rem;
	left: 1rem;
	padding: 0.32rem 0.48rem;
	background: rgba(44, 42, 39, 0.56);
	backdrop-filter: blur(5px);
	font-size: 0.58rem;
	letter-spacing: 0.18em;
	line-height: 1;
	color: #fff;
}

.rt-card__body {
	padding: 1.35rem 1.35rem 1.55rem;
}

.rt-card__body h3 {
	margin: 0 0 0.35rem;
	font-size: clamp(1.7rem, 2.4vw, 2.05rem);
}

.rt-card__body p {
	margin: 0 0 1rem;
	font-size: 0.86rem;
	line-height: 1.6;
	color: var(--rt-muted);
}

.rt-card__link {
	display: inline-block;
	font-size: 0.6rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--rt-terracotta);
}

/* ---------------------------------------------------------
   Home — editorial split
--------------------------------------------------------- */
.rt-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: center;
}

.rt-split__media {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--rt-sand);
}

.rt-split__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rt-split__copy {
	max-width: 530px;
}

.rt-split__copy h2 {
	margin: 0 0 1.1rem;
}

.rt-split__copy p {
	color: var(--rt-muted);
}

.rt-list {
	margin: 2rem 0;
	padding: 0;
	border-top: 1px solid var(--rt-line);
	list-style: none;
}

.rt-list li {
	display: flex;
	gap: 1rem;
	align-items: baseline;
	padding: 0.95rem 0;
	border-bottom: 1px solid var(--rt-line);
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--rt-ink-soft);
}

.rt-list li span {
	flex: 0 0 1.8rem;
	font-family: var(--rt-serif);
	font-size: 1.15rem;
	line-height: 1;
	color: var(--rt-terracotta);
}

.rt-split__copy .rt-btn {
	margin-top: 0.4rem;
}

/* ---------------------------------------------------------
   Home — journal
--------------------------------------------------------- */
.rt-journal {
	background: var(--rt-paper);
}

.rt-journal-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.25rem);
}

.rt-journal-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.rt-journal-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	margin-bottom: 1.15rem;
	overflow: hidden;
	background: var(--rt-sand);
}

.rt-journal-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.9s var(--rt-ease);
}

.rt-journal-card:hover .rt-journal-card__media img {
	transform: scale(1.045);
}

.rt-journal-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-bottom: 0.55rem;
	font-size: 0.58rem;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--rt-olive);
}

.rt-journal-card__meta span + span::before {
	content: '·';
	margin-right: 0.7rem;
	color: var(--rt-sand-deep);
}

.rt-journal-card h3 {
	margin: 0 0 0.65rem;
	font-size: clamp(1.55rem, 2.2vw, 1.9rem);
	line-height: 1.08;
}

.rt-journal-card h3 a {
	color: var(--rt-ink);
}

.rt-journal-card h3 a:hover {
	color: var(--rt-terracotta);
}

.rt-journal-card p {
	margin: 0 0 1rem;
	font-size: 0.88rem;
	line-height: 1.65;
	color: var(--rt-muted);
}

.rt-journal-card .rt-text-link {
	margin-top: auto;
	align-self: flex-start;
}

/* ---------------------------------------------------------
   Home — quote and CTA
--------------------------------------------------------- */
.rt-quote {
	padding: clamp(5rem, 10vw, 9rem) 0;
	background: var(--rt-forest);
	color: var(--rt-cream);
	text-align: center;
}

.rt-quote .rt-eyebrow {
	color: rgba(247, 243, 236, 0.58);
}

.rt-quote blockquote {
	max-width: 920px;
	margin: 0 auto;
	padding: 0;
	border: 0;
	font-family: var(--rt-serif);
	font-size: clamp(2.2rem, 4.8vw, 4.35rem);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -0.015em;
	color: var(--rt-cream);
}

.rt-quote blockquote p {
	margin: 0;
}

.rt-quote__by {
	margin: 1.5rem 0 0;
	font-size: 0.62rem;
	letter-spacing: 0.19em;
	text-transform: uppercase;
	color: rgba(247, 243, 236, 0.58);
}

.rt-cta {
	background: var(--rt-sand);
	text-align: center;
}

.rt-cta__inner {
	max-width: 760px;
	margin: 0 auto;
}

.rt-cta h2 {
	margin: 0 0 1rem;
}

.rt-cta p {
	max-width: 560px;
	margin: 0 auto 2rem;
	color: var(--rt-muted);
}

.rt-center {
	max-width: 760px;
	margin-right: auto;
	margin-left: auto;
	text-align: center;
}

.rt-center p {
	max-width: 560px;
	margin-right: auto;
	margin-left: auto;
}

.rt-center .rt-btn {
	margin-top: 0.4rem;
}

/* ---------------------------------------------------------
   Interior page hero and prose
--------------------------------------------------------- */
.rt-page-hero {
	padding: clamp(5rem, 10vw, 9rem) 0 clamp(3.5rem, 7vw, 5.5rem);
	background: var(--rt-sand);
}

.rt-page-hero--paper {
	background: var(--rt-paper);
}

.rt-page-hero--forest {
	background: var(--rt-forest);
	color: var(--rt-cream);
}

.rt-page-hero--image {
	position: relative;
	padding: clamp(7rem, 12vw, 11rem) 0 clamp(4rem, 8vw, 6rem);
	background-position: center;
	background-size: cover;
	color: #fff;
}

.rt-page-hero--image::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(23, 22, 19, 0.2), rgba(23, 22, 19, 0.64));
}

.rt-page-hero--image .rt-wrap {
	position: relative;
	z-index: 2;
}

.rt-page-hero--image h1,
.rt-page-hero--image p {
	color: #fff;
}

.rt-page-hero--image .rt-eyebrow {
	color: rgba(255, 255, 255, 0.7);
}

.rt-page-hero h1 {
	max-width: 900px;
	margin: 0 0 1rem;
	font-size: clamp(3rem, 6vw, 5.6rem);
	line-height: 0.94;
}

.rt-page-hero p {
	max-width: 620px;
	margin: 0;
	font-size: 1.04rem;
	line-height: 1.7;
	color: var(--rt-muted);
}

.rt-page-hero--forest p {
	color: rgba(247, 243, 236, 0.72);
}

.rt-page-hero--forest .rt-eyebrow {
	color: rgba(247, 243, 236, 0.58);
}

.rt-prose {
	max-width: 780px;
	margin: 0 auto;
}

.rt-prose h2 {
	margin: 2.8rem 0 1rem;
	font-size: clamp(2rem, 3.5vw, 3rem);
}

.rt-prose h3 {
	margin: 2rem 0 0.8rem;
}

.rt-prose p,
.rt-prose li {
	color: var(--rt-ink-soft);
	font-size: 1.02rem;
	line-height: 1.85;
}

.rt-prose a {
	border-bottom: 1px solid rgba(181, 106, 74, 0.35);
}

.rt-prose a:hover {
	border-color: var(--rt-ink);
}

.rt-prose ul,
.rt-prose ol {
	margin: 0 0 1.5rem;
	padding-left: 1.25rem;
}

.rt-prose li {
	margin-bottom: 0.55rem;
}

.rt-prose blockquote {
	margin: 2.4rem 0;
	padding: 0.5rem 0 0.5rem 1.8rem;
	border-left: 2px solid var(--rt-terracotta);
	font-family: var(--rt-serif);
	font-size: 1.7rem;
	line-height: 1.2;
	color: var(--rt-ink);
}

/* ---------------------------------------------------------
   Koleksi page
--------------------------------------------------------- */
.rt-collection-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 7vw, 6rem);
	align-items: center;
}

.rt-collection-row + .rt-collection-row {
	margin-top: clamp(4rem, 9vw, 7rem);
}

.rt-collection-row:nth-child(even) .rt-collection-row__media {
	order: 2;
}

.rt-collection-row__media {
	position: relative;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--rt-sand);
}

.rt-collection-row__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rt-collection-row__copy {
	max-width: 520px;
}

.rt-collection-row__copy h2 {
	margin: 0 0 0.8rem;
}

.rt-collection-row__copy p {
	color: var(--rt-muted);
}

.rt-collection-row__copy .rt-text-link {
	margin-top: 0.4rem;
}

/* ---------------------------------------------------------
   Tentang page
--------------------------------------------------------- */
.rt-about-intro {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: start;
}

.rt-about-intro__media {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--rt-sand);
}

.rt-about-intro__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rt-about-intro__copy {
	max-width: 590px;
}

.rt-about-intro__copy h2 {
	margin: 0 0 1.2rem;
}

.rt-about-intro__copy p {
	color: var(--rt-muted);
}

.rt-values {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.rt-value {
	padding-top: 1.2rem;
	border-top: 1px solid var(--rt-line);
}

.rt-value h3 {
	margin: 0 0 0.55rem;
	font-size: 1.6rem;
}

.rt-value p {
	margin: 0;
	font-size: 0.88rem;
	line-height: 1.65;
	color: var(--rt-muted);
}

.rt-value__num {
	display: block;
	margin-bottom: 0.7rem;
	font-size: 0.6rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--rt-terracotta);
}

.rt-founder {
	display: grid;
	grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: center;
}

.rt-founder__media {
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--rt-sand);
}

.rt-founder__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rt-founder blockquote {
	margin: 0 0 1.2rem;
	padding: 0;
	border: 0;
	font-family: var(--rt-serif);
	font-size: clamp(1.9rem, 3.4vw, 3rem);
	line-height: 1.08;
	color: var(--rt-ink);
}

.rt-founder p {
	color: var(--rt-muted);
}

.rt-founder__by {
	font-size: 0.62rem;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--rt-olive);
}

/* ---------------------------------------------------------
   Kontak page
--------------------------------------------------------- */
.rt-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(2.5rem, 7vw, 6rem);
	align-items: start;
}

.rt-contact-card {
	padding: clamp(1.8rem, 4vw, 3rem);
	background: var(--rt-paper);
}

.rt-contact-card h2 {
	margin: 0 0 1rem;
	font-size: clamp(2rem, 3.4vw, 2.8rem);
}

.rt-contact-card p {
	color: var(--rt-muted);
}

.rt-contact-list {
	margin: 2rem 0 0;
	padding: 0;
	list-style: none;
}

.rt-contact-list li {
	padding: 0.9rem 0;
	border-top: 1px solid var(--rt-line);
}

.rt-contact-list span {
	display: block;
	margin-bottom: 0.2rem;
	font-size: 0.58rem;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--rt-olive);
}

.rt-contact-list a,
.rt-contact-list strong {
	font-family: var(--rt-serif);
	font-size: 1.35rem;
	font-weight: 500;
	color: var(--rt-ink);
}

.rt-contact-list a:hover {
	color: var(--rt-terracotta);
}

.rt-faq {
	max-width: 850px;
	margin: 0 auto;
}

.rt-faq h2 {
	text-align: center;
	margin: 0 0 2rem;
}

.rt-faq details {
	border-top: 1px solid var(--rt-line);
}

.rt-faq details:last-child {
	border-bottom: 1px solid var(--rt-line);
}

.rt-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.25rem 0;
	font-family: var(--rt-serif);
	font-size: 1.45rem;
	line-height: 1.2;
	color: var(--rt-ink);
	cursor: pointer;
	list-style: none;
}

.rt-faq summary::-webkit-details-marker {
	display: none;
}

.rt-faq summary::after {
	content: '+';
	font-family: var(--rt-sans);
	font-size: 1.2rem;
	font-weight: 300;
	color: var(--rt-terracotta);
	transition: transform 0.3s ease;
}

.rt-faq details[open] summary::after {
	transform: rotate(45deg);
}

.rt-faq details p {
	padding: 0 0 1.3rem;
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.75;
	color: var(--rt-muted);
}

/* ---------------------------------------------------------
   Blog archive
--------------------------------------------------------- */
.blog .site-content,
.archive .site-content,
.search .site-content {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
}

.blog .site-main,
.archive .site-main,
.search .site-main {
	width: min(960px, calc(100% - (var(--rt-gutter) * 2)));
	margin: 0 auto;
}

.blog .rt-journal-intro {
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
	padding: 0 0 clamp(2.5rem, 5vw, 4rem);
	border-bottom: 1px solid var(--rt-line);
	background: transparent;
}

.blog .rt-journal-intro .rt-wrap {
	width: 100%;
}

.blog .page-header,
.archive .page-header,
.search .page-header {
	width: min(960px, calc(100% - (var(--rt-gutter) * 2)));
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
	padding: 0;
	background: transparent;
}

.blog .page-header h1,
.archive .page-header h1,
.search .page-header h1 {
	margin: 0 0 0.8rem;
	font-size: clamp(3rem, 6vw, 5.2rem);
	line-height: 0.95;
}

.archive-description {
	max-width: 650px;
	color: var(--rt-muted);
}

.archive-description p {
	margin: 0;
}

.blog .inside-article,
.archive .inside-article,
.search .inside-article {
	padding: 0;
	background: transparent;
}

.blog .post,
.archive .post,
.search .post {
	margin: 0 0 clamp(3rem, 6vw, 4.5rem);
	padding: 0 0 clamp(3rem, 6vw, 4.5rem);
	border-bottom: 1px solid var(--rt-line);
}

.blog .post:last-child,
.archive .post:last-child,
.search .post:last-child {
	margin-bottom: 0;
	border-bottom: 0;
}

.blog .post-image,
.archive .post-image,
.search .post-image {
	margin: 0 0 1.5rem;
	overflow: hidden;
	background: var(--rt-sand);
}

.blog .post-image img,
.archive .post-image img,
.search .post-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform 0.9s var(--rt-ease);
}

.blog .post:hover .post-image img,
.archive .post:hover .post-image img,
.search .post:hover .post-image img {
	transform: scale(1.025);
}

.blog .entry-meta,
.archive .entry-meta,
.search .entry-meta {
	margin-bottom: 0.7rem;
	font-size: 0.6rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--rt-olive);
}

.blog .entry-title,
.archive .entry-title,
.search .entry-title {
	margin: 0 0 0.8rem;
	font-size: clamp(2rem, 3.8vw, 3.2rem);
	line-height: 1.02;
}

.blog .entry-title a,
.archive .entry-title a,
.search .entry-title a {
	color: var(--rt-ink);
}

.blog .entry-title a:hover,
.archive .entry-title a:hover,
.search .entry-title a:hover {
	color: var(--rt-terracotta);
}

.blog .entry-summary,
.archive .entry-summary,
.search .entry-summary {
	max-width: 760px;
	color: var(--rt-muted);
}

.blog .entry-summary p,
.archive .entry-summary p,
.search .entry-summary p {
	margin-bottom: 1rem;
}

.blog .entry-summary .rt-text-link,
.archive .entry-summary .rt-text-link {
	margin-top: 0.2rem;
}

.paging-navigation {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid var(--rt-line);
}

.paging-navigation .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	margin-right: 0.3rem;
	border: 1px solid var(--rt-line);
	border-radius: 50%;
	font-size: 0.7rem;
	color: var(--rt-ink);
}

.paging-navigation .page-numbers.current,
.paging-navigation .page-numbers:hover {
	background: var(--rt-ink);
	border-color: var(--rt-ink);
	color: var(--rt-cream);
}

/* ---------------------------------------------------------
   Single post
--------------------------------------------------------- */
.single .site-content {
	padding: clamp(3.5rem, 7vw, 6rem) 0;
}

.single .inside-article {
	width: min(860px, calc(100% - (var(--rt-gutter) * 2)));
	margin: 0 auto;
	padding: 0;
	background: transparent;
}

.single .entry-header {
	margin: 0 auto clamp(2rem, 4vw, 3rem);
	text-align: center;
}

.single .entry-title {
	max-width: 900px;
	margin: 0 auto 1rem;
	font-size: clamp(2.8rem, 5.8vw, 5.2rem);
	line-height: 0.96;
}

.single .entry-meta {
	font-size: 0.6rem;
	font-weight: 500;
	letter-spacing: 0.17em;
	line-height: 1.6;
	text-transform: uppercase;
	color: var(--rt-olive);
}

.single .post-image {
	margin: 0 0 clamp(2.5rem, 5vw, 4rem);
	overflow: hidden;
	background: var(--rt-sand);
}

.single .post-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.single .entry-content {
	font-size: 1.06rem;
	line-height: 1.85;
	color: var(--rt-ink-soft);
}

.single .entry-content > p:first-of-type {
	font-size: 1.15rem;
	line-height: 1.8;
	color: var(--rt-ink);
}

.single .entry-content > p:first-of-type::first-letter {
	float: left;
	margin: 0.2rem 0.5rem 0 0;
	font-family: var(--rt-serif);
	font-size: 4.8rem;
	font-weight: 500;
	line-height: 0.76;
	color: var(--rt-terracotta);
}

.single .entry-content h2 {
	margin: clamp(2.5rem, 5vw, 3.8rem) 0 1rem;
	font-size: clamp(2rem, 3.8vw, 3.1rem);
	line-height: 1.05;
}

.single .entry-content h3 {
	margin: 2.2rem 0 0.7rem;
	font-size: clamp(1.5rem, 2.5vw, 1.95rem);
}

.single .entry-content p {
	margin-bottom: 1.35rem;
}

.single .entry-content a {
	border-bottom: 1px solid rgba(181, 106, 74, 0.38);
}

.single .entry-content a:hover {
	border-color: var(--rt-ink);
}

.single .entry-content ul,
.single .entry-content ol {
	margin: 0 0 1.6rem;
	padding-left: 1.35rem;
}

.single .entry-content li {
	margin-bottom: 0.55rem;
}

.single .entry-content blockquote {
	margin: clamp(2rem, 4vw, 3rem) 0;
	padding: 0.4rem 0 0.4rem 1.8rem;
	border-left: 2px solid var(--rt-terracotta);
	font-family: var(--rt-serif);
	font-size: clamp(1.6rem, 3vw, 2.2rem);
	line-height: 1.16;
	color: var(--rt-ink);
}

.single .entry-content figure {
	margin: 2.5rem 0;
}

.single .entry-content figure img {
	width: 100%;
}

.single .entry-content figcaption {
	margin-top: 0.6rem;
	font-size: 0.68rem;
	letter-spacing: 0.04em;
	text-align: center;
	color: var(--rt-muted);
}

.single .entry-content .rt-article-note {
	margin-top: 3rem;
	padding: 1.6rem 1.8rem;
	background: var(--rt-sand);
}

.single .entry-content .rt-read-next {
	margin: 2.4rem 0;
	padding: 1.1rem 1.4rem;
	border-left: 2px solid var(--rt-terracotta);
	background: var(--rt-paper);
}

.single .entry-content .rt-read-next p {
	margin: 0;
	font-size: 0.86rem;
	line-height: 1.7;
}

.single .entry-content .rt-article-note p {
	margin: 0;
	font-size: 0.87rem;
	line-height: 1.7;
}

.rank-math-breadcrumb {
	margin-bottom: 1.2rem;
	font-size: 0.58rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--rt-olive);
}

.rank-math-breadcrumb p {
	margin: 0;
}

.rank-math-breadcrumb a {
	color: var(--rt-muted);
	border: 0;
}

.rank-math-breadcrumb a:hover {
	color: var(--rt-terracotta);
}

.rank-math-breadcrumb .separator {
	margin: 0 0.45rem;
	color: var(--rt-sand-deep);
}

/* Comments are closed, but keep the block tidy if enabled. */
.comments-area {
	width: min(860px, calc(100% - (var(--rt-gutter) * 2)));
	margin: 3rem auto 0;
}

/* ---------------------------------------------------------
   Footer
--------------------------------------------------------- */
.site-footer {
	background: var(--rt-ink);
	color: rgba(247, 243, 236, 0.72);
}

.site-footer .footer-widgets {
	background: var(--rt-ink);
}

.site-footer .inside-footer-widgets {
	display: grid;
	grid-template-columns: 1.35fr 1fr 1fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	width: min(var(--rt-wrap), calc(100% - (var(--rt-gutter) * 2)));
	margin: 0 auto;
	padding: clamp(3.5rem, 7vw, 5.5rem) 0;
}

.site-footer .inside-footer-widgets > div {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}

.site-footer .widget {
	margin: 0;
}

.site-footer .widget-title {
	margin: 0 0 1rem;
	font-family: var(--rt-serif);
	font-size: 1.35rem;
	font-weight: 500;
	line-height: 1.1;
	color: var(--rt-cream);
}

.site-footer p {
	margin-bottom: 0.8rem;
	font-size: 0.87rem;
	line-height: 1.7;
}

.site-footer a {
	color: rgba(247, 243, 236, 0.78);
}

.site-footer a:hover {
	color: #fff;
}

.site-footer .rt-footer-brand {
	font-family: var(--rt-serif);
	font-size: 2rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--rt-cream);
}

.site-footer .rt-footer-tagline {
	margin-top: 0.65rem;
	font-size: 0.58rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--rt-sand-deep);
}

.site-footer .rt-footer-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer .rt-footer-list li {
	margin-bottom: 0.55rem;
}

.site-footer .rt-footer-list a {
	font-size: 0.82rem;
	letter-spacing: 0.04em;
}

.site-footer .site-info {
	padding: 1.2rem var(--rt-gutter);
	background: #211f1c;
	color: rgba(247, 243, 236, 0.48);
	font-size: 0.58rem;
	letter-spacing: 0.13em;
	line-height: 1.6;
	text-align: center;
	text-transform: uppercase;
}

.site-footer .site-info a {
	color: rgba(247, 243, 236, 0.68);
}

.generate-back-to-top {
	background: var(--rt-terracotta) !important;
	color: #fff !important;
	border-radius: 50%;
}

/* ---------------------------------------------------------
   WordPress misc
--------------------------------------------------------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.wp-block-image img {
	display: block;
}

.alignwide {
	max-width: none;
}

.entry-content .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
}

/* ---------------------------------------------------------
   Responsive
--------------------------------------------------------- */
@media (max-width: 1024px) {
	.rt-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rt-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		max-width: 50%;
	}

	.rt-journal-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rt-journal-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		max-width: 50%;
	}

	.rt-intro__grid,
	.rt-split,
	.rt-about-intro,
	.rt-contact-grid {
		grid-template-columns: 1fr;
	}

	.rt-intro__copy {
		max-width: 640px;
		padding-top: 0;
	}

	.rt-split__copy,
	.rt-about-intro__copy,
	.rt-collection-row__copy {
		max-width: 680px;
	}

	.rt-split__media,
	.rt-about-intro__media {
		max-width: 640px;
	}

	.site-footer .inside-footer-widgets {
		grid-template-columns: 1fr 1fr;
	}

	.site-footer .footer-widget-1 {
		grid-column: 1 / -1;
	}
}

@media (max-width: 768px) {
	.inside-header {
		padding: 1.1rem var(--rt-gutter);
	}

	.site-branding {
		text-align: left;
	}

	.main-navigation .main-nav ul li a {
		padding: 0.65rem 0;
	}

	.rt-hero {
		min-height: 78vh;
	}

	.rt-hero__inner {
		padding-top: 7rem;
	}

	.rt-hero__caption {
		display: none;
	}

	.rt-section-head {
		display: block;
	}

	.rt-section-head .rt-text-link {
		margin-top: 1.2rem;
	}

	.rt-card-grid,
	.rt-journal-grid,
	.rt-values,
	.rt-stats {
		grid-template-columns: 1fr;
	}

	.rt-card:last-child:nth-child(odd),
	.rt-journal-card:last-child:nth-child(odd) {
		grid-column: auto;
		max-width: none;
	}

	.rt-stats {
		gap: 1.25rem;
	}

	.rt-stats > div {
		display: flex;
		align-items: baseline;
		gap: 1rem;
		padding-bottom: 0.9rem;
		border-bottom: 1px solid var(--rt-line);
	}

	.rt-stats span {
		margin-top: 0;
	}

	.rt-founder,
	.rt-collection-row {
		grid-template-columns: 1fr;
	}

	.rt-collection-row:nth-child(even) .rt-collection-row__media {
		order: 0;
	}

	.rt-founder__media {
		max-width: 420px;
	}

	.site-footer .inside-footer-widgets {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.site-footer .footer-widget-1 {
		grid-column: auto;
	}

	.site-footer .site-info {
		text-align: center;
	}

	.single .entry-content > p:first-of-type::first-letter {
		font-size: 3.8rem;
	}
}

@media (max-width: 480px) {
	.rt-hero h1 {
		font-size: 3.1rem;
	}

	.rt-actions {
		flex-direction: column;
		align-items: flex-start;
	}

	.rt-btn,
	.wp-block-button__link {
		width: 100%;
	}

	.rt-actions .rt-btn {
		width: auto;
	}
}
