/*
Theme Name: Outfit Almanac
Theme URI: https://outfitalmanc.com/
Description: Outfit Almanac editorial child theme for GeneratePress.
Author: Outfit Almanac
Template: generatepress
Version: 1.3.1
Text Domain: outfit-almanac
*/

:root {
	--oa-ink: #292725;
	--oa-soft-ink: #514d49;
	--oa-muted: #6a6560;
	--oa-stone: #a69d95;
	--oa-warm: #f4f1ee;
	--oa-light: #faf9f7;
	--oa-line: #ded9d3;
	--oa-accent: #755e53;
	--oa-width: 1220px;
}
html { scroll-behavior: smooth; }
body { background: #fff; color: var(--oa-ink); font-family: Arial, Helvetica, sans-serif; }
a { color: var(--oa-accent); }
a:hover { color: var(--oa-ink); }
.oa-eyebrow { color: var(--oa-accent); font-size: 12px; font-weight: 700; letter-spacing: .12em; line-height: 1.4; margin: 0 0 18px; text-transform: uppercase; }
.oa-button { align-items: center; background: var(--oa-ink); border: 1px solid var(--oa-ink); color: #fff; display: inline-flex; font-size: 12px; font-weight: 700; gap: 30px; justify-content: space-between; letter-spacing: .08em; min-height: 48px; padding: 12px 18px; text-decoration: none; text-transform: uppercase; }
.oa-button:hover { background: var(--oa-accent); border-color: var(--oa-accent); color: #fff; }
.oa-button-light { background: #fff; border-color: #fff; color: var(--oa-ink); }
.oa-button-light:hover { background: var(--oa-warm); border-color: var(--oa-warm); color: var(--oa-ink); }

.oa-announcement { align-items: center; background: #918781; color: #fff; display: flex; font-size: 12px; gap: 14px; justify-content: center; line-height: 1.4; min-height: 38px; padding: 8px 18px; text-align: center; }
.oa-announcement > span { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.oa-announcement a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.site-header { background: #fff; border-bottom: 1px solid var(--oa-line); }
.site-header .inside-header { align-items: center; display: flex; flex-direction: column; max-width: 1440px; padding: 28px 30px 0; }
.site-branding { text-align: center; }
.site-branding .main-title { font-family: Georgia, "Times New Roman", serif; font-size: clamp(40px, 4.3vw, 62px); font-weight: 400; letter-spacing: -.035em; line-height: 1; }
.site-branding .main-title a { color: var(--oa-ink); }
.site-branding .site-description { color: var(--oa-muted); font-size: 11px; letter-spacing: .04em; line-height: 1.4; margin-top: 10px; }
.nav-float-right .main-navigation, .main-navigation { background: transparent; border-top: 1px solid var(--oa-line); clear: both; float: none !important; margin-top: 26px; width: 100%; }
.main-navigation .inside-navigation, .main-navigation .main-nav ul { justify-content: center; }
.main-navigation .main-nav ul li a { color: var(--oa-ink); font-size: 12px; font-weight: 700; letter-spacing: .08em; padding: 0 18px; text-transform: uppercase; }
.main-navigation .main-nav ul li a:hover, .main-navigation .main-nav ul li.current-menu-item > a, .main-navigation .main-nav ul li.current-menu-ancestor > a { background: transparent; color: var(--oa-accent); }
.main-navigation .menu-toggle { color: var(--oa-ink); }
.site-footer { background: var(--oa-warm); border-top: 1px solid var(--oa-line); color: var(--oa-muted); }
.site-info { background: transparent; color: var(--oa-muted); font-size: 12px; padding: 27px; }
.site-info a { color: var(--oa-ink); }

body.home #page, body.category #page, body.single-post #page, body.author #page, body.page:has(.oa-about) #page,
body.home .site-content, body.category .site-content, body.single-post .site-content, body.author .site-content, body.page:has(.oa-about) .site-content { display: block; max-width: none; width: 100%; }
body.home #primary, body.category #primary, body.single-post #primary, body.author #primary, body.page:has(.oa-about) #primary { float: none; width: 100%; }
body.home .site-main, body.category .site-main, body.single-post .site-main, body.author .site-main, body.page:has(.oa-about) .site-main { margin: 0; }
body.home #right-sidebar, body.category #right-sidebar, body.single-post #right-sidebar, body.author #right-sidebar, body.page:has(.oa-about) #right-sidebar,
body.home #left-sidebar, body.category #left-sidebar, body.single-post #left-sidebar, body.author #left-sidebar, body.page:has(.oa-about) #left-sidebar { display: none; }

.oa-section { margin: 0 auto; max-width: var(--oa-width); padding: 80px 26px 96px; }
.oa-section-head { align-items: end; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 32px; }
.oa-section-head h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 4.2vw, 58px); font-weight: 400; letter-spacing: -.035em; line-height: 1.1; margin: 0; text-wrap: balance; }
.oa-section-head .oa-eyebrow { margin-bottom: 10px; }
.oa-section-head > a, .oa-section-head > span { border-bottom: 1px solid var(--oa-ink); color: var(--oa-ink); font-size: 12px; font-weight: 700; letter-spacing: .07em; padding-bottom: 6px; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.oa-section-head > span { border: 0; color: var(--oa-muted); }

.oa-feature { align-items: stretch; display: grid; gap: clamp(20px, 3.5vw, 52px); grid-template-columns: 1fr 1fr; margin: 45px auto 0; max-width: 1270px; padding: 0 26px; }
.oa-feature-image { background: var(--oa-warm); height: min(670px, 55vw); min-height: 470px; overflow: hidden; }
.oa-feature-image a, .oa-feature-image img { display: block; height: 100%; width: 100%; }
.oa-feature-image img { object-fit: cover; object-position: center 35%; }
.oa-feature-copy { align-self: center; border: 1px solid var(--oa-stone); margin: 25px 0; padding: clamp(34px, 5vw, 76px); }
.oa-feature-copy h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 4.8vw, 68px); font-weight: 400; letter-spacing: -.035em; line-height: 1.06; margin: 0 0 24px; text-wrap: balance; }
.oa-feature-copy > p:not(.oa-eyebrow) { color: var(--oa-soft-ink); font-size: 18px; line-height: 1.6; margin: 0 0 28px; }
.oa-home-intro { margin: 0 auto; max-width: 780px; padding: 92px 26px 100px; text-align: center; }
.oa-home-intro h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(44px, 5vw, 70px); font-weight: 400; letter-spacing: -.035em; line-height: 1.1; margin: 0 0 22px; text-wrap: balance; }
.oa-home-intro > p:not(.oa-eyebrow) { color: var(--oa-soft-ink); font-size: 19px; line-height: 1.65; margin: 0 auto 29px; max-width: 660px; }
.oa-home-intro-links { display: flex; flex-wrap: wrap; gap: 15px 32px; justify-content: center; }
.oa-home-intro-links a { border-bottom: 1px solid currentColor; color: var(--oa-ink); font-size: 12px; font-weight: 700; letter-spacing: .06em; padding-bottom: 6px; text-decoration: none; text-transform: uppercase; }
.oa-recent { border-top: 1px solid var(--oa-line); }
.oa-card-grid { display: grid; gap: 48px 26px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.oa-card { min-width: 0; }
.oa-card-image { background: var(--oa-warm); display: block; overflow: hidden; }
.oa-card-image img { aspect-ratio: 4 / 5; display: block; height: auto; object-fit: cover; object-position: center 28%; transition: transform .3s ease; width: 100%; }
.oa-card-image:hover img { transform: scale(1.025); }
.oa-card-meta { color: var(--oa-muted); display: flex; flex-wrap: wrap; font-size: 11px; gap: 10px; justify-content: space-between; letter-spacing: .04em; margin: 18px 0 10px; text-transform: uppercase; }
.oa-card-meta span { color: var(--oa-accent); font-weight: 700; }
.oa-card h3 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 2.3vw, 32px); font-weight: 400; letter-spacing: -.025em; line-height: 1.18; margin: 0 0 10px; text-wrap: balance; }
.oa-card h3 a { color: var(--oa-ink); text-decoration: none; }
.oa-card h3 a:hover { color: var(--oa-accent); }
.oa-card > p { color: var(--oa-muted); font-size: 14px; line-height: 1.55; margin: 0 0 14px; }
.oa-card-read { border-bottom: 1px solid currentColor; color: var(--oa-ink); font-size: 11px; font-weight: 700; letter-spacing: .07em; padding-bottom: 4px; text-decoration: none; text-transform: uppercase; }
.oa-topic-section { background: var(--oa-light); border-top: 1px solid var(--oa-line); }
.oa-topic-section .oa-section { padding-top: 76px; }
.oa-topic-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.oa-topic { background: var(--oa-warm); color: var(--oa-ink); display: block; overflow: hidden; position: relative; text-decoration: none; }
.oa-topic > img { aspect-ratio: 4 / 4.5; display: block; object-fit: cover; object-position: center 28%; width: 100%; }
.oa-topic-caption { align-items: end; background: #fff; display: grid; gap: 5px; grid-template-columns: 1fr auto; margin: -48px 16px 16px; min-height: 105px; padding: 18px; position: relative; }
.oa-topic-caption small { color: var(--oa-muted); font-size: 12px; grid-column: 1 / -1; line-height: 1.3; }
.oa-topic-caption strong { font-family: Georgia, "Times New Roman", serif; font-size: clamp(24px, 2vw, 31px); font-weight: 400; line-height: 1.1; }
.oa-topic-caption > span { font-size: 22px; }
.oa-topic:hover .oa-topic-caption strong { color: var(--oa-accent); }
.oa-meet { align-items: center; background: #918781; color: #fff; display: grid; gap: clamp(40px, 8vw, 120px); grid-template-columns: minmax(300px, 500px) minmax(0, 560px); justify-content: center; padding: 90px 34px; }
.oa-meet-image img { aspect-ratio: 4 / 5; display: block; object-fit: cover; object-position: center 25%; width: 100%; }
.oa-meet-copy .oa-eyebrow { color: #f1e5dc; }
.oa-meet-copy h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(50px, 5vw, 72px); font-weight: 400; letter-spacing: -.035em; line-height: 1.05; margin: 0 0 26px; }
.oa-meet-copy p:not(.oa-eyebrow) { font-size: 17px; line-height: 1.65; margin: 0 0 20px; }
.oa-meet-copy .oa-button { margin-top: 14px; }

/* Category and author archives */
.oa-archive-head { align-items: center; background: var(--oa-light); display: grid; gap: clamp(36px, 6vw, 96px); grid-template-columns: 1fr .86fr; margin: 0 auto; min-height: 520px; padding: 50px max(26px, calc((100vw - var(--oa-width)) / 2)); }
.oa-archive-copy h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(52px, 6vw, 82px); font-weight: 400; letter-spacing: -.035em; line-height: 1.05; margin: 0 0 24px; text-wrap: balance; }
.oa-archive-copy > p:not(.oa-eyebrow) { color: var(--oa-soft-ink); font-size: 18px; line-height: 1.65; max-width: 570px; }
.oa-archive-copy .oa-button { margin-top: 13px; }
.oa-archive-image { max-height: 460px; overflow: hidden; }
.oa-archive-image img { display: block; height: 460px; object-fit: cover; object-position: center 32%; width: 100%; }
.oa-archive-nav { align-items: center; border-bottom: 1px solid var(--oa-line); display: flex; flex-wrap: wrap; gap: 12px 22px; justify-content: center; padding: 24px; }
.oa-archive-nav span { color: var(--oa-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.oa-archive-nav a { color: var(--oa-ink); font-size: 13px; text-decoration: none; }
.oa-archive-nav a[aria-current], .oa-archive-nav a:hover { border-bottom: 1px solid var(--oa-accent); color: var(--oa-accent); }
.oa-archive-results { padding-top: 74px; }
.oa-archive .nav-links, .oa-author-archive .nav-links { display: flex; gap: 16px; justify-content: center; margin-top: 54px; }
.oa-archive .nav-links a, .oa-author-archive .nav-links a { color: var(--oa-ink); }
.oa-empty { color: var(--oa-muted); font-size: 18px; }

/* Single article */
.oa-post { margin: auto; max-width: 1320px; padding: 0 26px; }
.oa-breadcrumb { color: var(--oa-muted); display: flex; flex-wrap: wrap; font-size: 12px; gap: 12px; margin: 38px auto 0; max-width: 1120px; }
.oa-breadcrumb a { color: var(--oa-muted); text-decoration: none; }
.oa-breadcrumb a:hover { color: var(--oa-accent); }
.oa-post-head { margin: 52px auto 40px; max-width: 970px; text-align: center; }
.oa-post-head h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(48px, 5.8vw, 78px); font-weight: 400; letter-spacing: -.035em; line-height: 1.08; margin: 0 0 24px; text-wrap: balance; }
.oa-post-deck { color: var(--oa-soft-ink); font-size: 19px; line-height: 1.55; margin: 0 auto 22px; max-width: 750px; }
.oa-post-meta { color: var(--oa-muted); display: flex; font-size: 12px; gap: 12px; justify-content: center; letter-spacing: .04em; }
.oa-post-meta a { color: var(--oa-ink); font-weight: 700; }
.oa-post-hero { background: var(--oa-warm); margin: 0 auto 72px; max-width: 950px; text-align: center; }
.oa-post-hero img { display: block; height: auto; max-height: 850px; max-width: 100%; object-fit: contain; width: auto; margin: auto; }
.oa-post-layout { align-items: start; display: grid; gap: clamp(50px, 6vw, 100px); grid-template-columns: minmax(0, 720px) minmax(230px, 280px); justify-content: center; }
.oa-post-content { color: #37332f; font-size: 18px; line-height: 1.75; min-width: 0; }
.oa-post-content > p:first-child { font-size: 20px; line-height: 1.6; }
.oa-post-content p { margin: 0 0 1.35em; }
.oa-post-content h2 { color: var(--oa-ink); font-family: Georgia, "Times New Roman", serif; font-size: clamp(32px, 3.1vw, 44px); font-weight: 400; letter-spacing: -.025em; line-height: 1.18; margin: 58px 0 19px; text-wrap: balance; }
.oa-post-content h3 { color: var(--oa-ink); font-family: Georgia, "Times New Roman", serif; font-size: 28px; font-weight: 400; line-height: 1.2; margin: 38px 0 14px; }
.oa-post-content img { display: block; height: auto; margin: 27px auto; max-width: 100%; }
.oa-post-content figure { margin: 35px 0; }
.oa-post-content figcaption { color: var(--oa-muted); font-size: 13px; line-height: 1.4; text-align: center; }
.oa-post-content ul, .oa-post-content ol { margin-bottom: 1.5em; }
.oa-post-content a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.oa-sidebar-person { border: 1px solid var(--oa-line); padding: 20px; }
.oa-sidebar-person img { aspect-ratio: 1 / 1; display: block; object-fit: cover; object-position: center 22%; width: 100%; }
.oa-sidebar-person .oa-eyebrow { margin: 21px 0 8px; }
.oa-sidebar-person h2 { font-family: Georgia, "Times New Roman", serif; font-size: 30px; font-weight: 400; line-height: 1.15; margin: 0 0 13px; }
.oa-sidebar-person p:not(.oa-eyebrow) { color: var(--oa-muted); font-size: 14px; line-height: 1.6; margin: 0 0 15px; }
.oa-sidebar-person a, .oa-sidebar-more a { color: var(--oa-ink); font-size: 12px; font-weight: 700; text-decoration: none; }
.oa-sidebar-more { border-top: 1px solid var(--oa-line); margin-top: 35px; padding-top: 26px; }
.oa-sidebar-more .oa-eyebrow { margin-bottom: 8px; }
.oa-sidebar-more a { border-bottom: 1px solid var(--oa-line); display: block; font-family: Georgia, "Times New Roman", serif; font-size: 19px; font-weight: 400; line-height: 1.25; padding: 15px 0; }
.oa-sidebar-more a span { color: var(--oa-accent); }
.oa-post-related { border-top: 1px solid var(--oa-line); margin-top: 95px; }

/* About */
.oa-about-hero { align-items: center; display: grid; gap: clamp(40px, 7vw, 110px); grid-template-columns: .9fr 1fr; margin: 52px auto 0; max-width: var(--oa-width); padding: 0 26px; }
.oa-about-portrait img { aspect-ratio: 4 / 5; display: block; max-height: 650px; object-fit: cover; object-position: center 22%; width: 100%; }
.oa-about-lead h1 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(58px, 6.2vw, 86px); font-weight: 400; letter-spacing: -.035em; line-height: 1.05; margin: 0 0 24px; }
.oa-about-standfirst { color: var(--oa-ink) !important; font-family: Georgia, "Times New Roman", serif; font-size: clamp(27px, 2.8vw, 39px) !important; line-height: 1.2 !important; }
.oa-about-lead p:not(.oa-eyebrow) { color: var(--oa-soft-ink); font-size: 18px; line-height: 1.65; max-width: 540px; }
.oa-about-story { border-bottom: 1px solid var(--oa-line); display: grid; gap: clamp(40px, 6vw, 100px); grid-template-columns: .72fr 1fr; margin: 0 auto; max-width: var(--oa-width); padding: 100px 26px; }
.oa-about-story h2, .oa-about-details h2, .oa-about-start h2 { font-family: Georgia, "Times New Roman", serif; font-size: clamp(38px, 4.2vw, 57px); font-weight: 400; letter-spacing: -.035em; line-height: 1.1; margin: 0; text-wrap: balance; }
.oa-about-story-copy p { color: var(--oa-soft-ink); font-size: 19px; line-height: 1.7; margin: 0 0 24px; }
.oa-about-details { background: var(--oa-light); padding: 90px 26px 105px; }
.oa-about-details-head { margin: 0 auto 37px; max-width: var(--oa-width); }
.oa-about-facts { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); margin: auto; max-width: var(--oa-width); }
.oa-about-facts > div { background: #fff; border-top: 2px solid var(--oa-stone); padding: 23px; }
.oa-about-facts span { color: var(--oa-accent); font-size: 12px; font-weight: 700; }
.oa-about-facts h3 { font-family: Georgia, "Times New Roman", serif; font-size: 25px; font-weight: 400; line-height: 1.15; margin: 16px 0 12px; }
.oa-about-facts p { color: var(--oa-muted); font-size: 14px; line-height: 1.55; margin: 0; }
.oa-about-start { margin: auto; max-width: var(--oa-width); padding: 90px 26px 115px; }
.oa-about-start h2 { margin-bottom: 28px; }
.oa-about-links { border-top: 1px solid var(--oa-line); }
.oa-about-links a { border-bottom: 1px solid var(--oa-line); color: var(--oa-ink); display: flex; font-family: Georgia, "Times New Roman", serif; font-size: clamp(23px, 2.5vw, 34px); gap: 20px; justify-content: space-between; line-height: 1.2; padding: 21px 0; text-decoration: none; }
.oa-about-links a:hover { color: var(--oa-accent); }

@media (max-width: 1024px) {
	.oa-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.oa-feature-copy { padding: 35px; }
	.oa-feature-copy h1 { font-size: clamp(38px, 5vw, 55px); }
	.oa-post-layout { gap: 45px; grid-template-columns: minmax(0, 680px) minmax(210px, 250px); }
	.oa-about-facts { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	.oa-announcement { font-size: 10px; }
	.oa-announcement > span { display: none; }
	.site-header .inside-header { padding: 21px 18px 0; }
	.site-branding .main-title { font-size: 42px; }
	.site-branding .site-description { font-size: 10px; max-width: 270px; }
	.main-navigation { margin-top: 19px; }
	.main-navigation .main-nav ul li a { font-size: 13px; padding: 11px 20px; }
	.oa-section { padding: 62px 20px 75px; }
	.oa-section-head { align-items: start; flex-direction: column; gap: 14px; }
	.oa-feature { display: flex; flex-direction: column; gap: 0; margin-top: 20px; padding: 0 20px; }
	.oa-feature-image { height: 480px; min-height: 0; }
	.oa-feature-copy { margin: -34px 12px 0; padding: 31px 25px; position: relative; background: #fff; }
	.oa-feature-copy h1 { font-size: clamp(38px, 10vw, 52px); }
	.oa-feature-copy > p:not(.oa-eyebrow) { font-size: 16px; }
	.oa-home-intro { padding: 72px 22px; }
	.oa-home-intro > p:not(.oa-eyebrow) { font-size: 17px; }
	.oa-card-grid, .oa-topic-grid { grid-template-columns: 1fr; gap: 42px; }
	.oa-topic-grid { gap: 22px; }
	.oa-topic > img { max-height: 390px; }
	.oa-meet { grid-template-columns: 1fr; gap: 30px; padding: 65px 22px; }
	.oa-meet-image img { max-height: 520px; }
	.oa-archive-head { display: flex; flex-direction: column-reverse; gap: 28px; padding: 25px 20px 50px; }
	.oa-archive-image, .oa-archive-image img { height: 330px; width: 100%; }
	.oa-archive-copy h1 { font-size: clamp(46px, 11vw, 62px); }
	.oa-archive-nav { justify-content: flex-start; padding: 22px; }
	.oa-post { padding: 0 20px; }
	.oa-breadcrumb { margin-top: 25px; }
	.oa-post-head { margin: 40px auto 32px; text-align: left; }
	.oa-post-head h1 { font-size: clamp(44px, 11vw, 60px); }
	.oa-post-deck { font-size: 17px; }
	.oa-post-meta { justify-content: flex-start; }
	.oa-post-hero { margin-bottom: 45px; }
	.oa-post-layout { display: block; }
	.oa-post-content { font-size: 17px; }
	.oa-post-content > p:first-child { font-size: 18px; }
	.oa-post-sidebar { margin-top: 60px; }
	.oa-sidebar-person { display: grid; gap: 18px; grid-template-columns: 110px 1fr; }
	.oa-sidebar-person img { grid-row: span 4; height: 135px; }
	.oa-sidebar-person .oa-eyebrow { margin: 0; }
	.oa-sidebar-person h2 { font-size: 26px; margin: 0; }
	.oa-sidebar-person p:not(.oa-eyebrow) { margin: 0; }
	.oa-sidebar-more { display: none; }
	.oa-post-related { margin-top: 65px; }
	.oa-about-hero { display: flex; flex-direction: column; gap: 35px; margin-top: 22px; padding: 0 20px; }
	.oa-about-portrait, .oa-about-portrait img { max-height: 480px; width: 100%; }
	.oa-about-lead h1 { font-size: 60px; }
	.oa-about-story { display: block; padding: 75px 22px; }
	.oa-about-story-heading { margin-bottom: 30px; }
	.oa-about-story-copy p { font-size: 17px; }
	.oa-about-details { padding: 75px 22px; }
	.oa-about-facts { grid-template-columns: 1fr; }
	.oa-about-start { padding: 75px 22px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.oa-card-image img { transition: none; }
}
