

	:root{
		--sm-bg:#f7f4ef;
		--sm-paper:#fffaf3;
		--sm-ink:#1f1f1f;
		--sm-muted:#777;
		--sm-line:#ddd6cc;
		--sm-soft:#efe8dd;
		--sm-serif:Georgia,"Times New Roman",serif;
		--sm-sans:Arial,Helvetica,sans-serif;
	}

	*{
		-webkit-font-smoothing:antialiased;
		-moz-osx-font-smoothing:grayscale;
	}

	body {
		background:var(--sm-bg);
		color:var(--sm-ink);
		font-family:var(--sm-serif);
	}

	@media (min-width: 992px){html{font-size:calc(1em + .14vw) !important;}}
	@media (max-width: 575.98px){html{font-size:calc(1em + .35vw) !important;}}

	a{color:inherit;}
	a:hover{color:inherit;}

	.navbar-brand{
		text-transform:uppercase;
		letter-spacing:2px;
	}

	.icon {
		width:1em;
		height:1em;
		fill:currentColor;
		vertical-align:-0.125em;
	}

	.top-nav {
		position:sticky;
		top:0;
		z-index:1000;
		background:rgba(255,250,243,.92);
		border-bottom:1px solid var(--sm-line);
		backdrop-filter:blur(14px);
		transition:padding .25s ease, background .25s ease, box-shadow .25s ease;
	}

	.top-nav.is-scrolled{
		background:rgba(255,250,243,.97);
		box-shadow:0 8px 30px rgba(50,40,30,.04);
	}

	.brand {
		font-size:1.5rem;
		letter-spacing:2px;
		text-transform:uppercase;
	}

	.nav-link {
		position:relative;
		font-family:var(--sm-sans);
		font-size:0.7rem;
		letter-spacing:2px;
		text-transform:uppercase;
		color:#222;
	}

	.nav-link::after{
		content:"";
		position:absolute;
		left:50%;
		bottom:.15rem;
		width:42%;
		height:1px;
		background:var(--sm-ink);
		transform:translateX(-50%) scaleX(0);
		transform-origin:center;
		opacity:.5;
		transition:transform .25s ease;
	}

	.nav-link:hover::after{
		transform:translateX(-50%) scaleX(1);
	}

	.navbar-toggler:focus{box-shadow:none;}

	.hero {
		padding:78px 0 56px;
		text-align:center;
	}

	.hero-kicker,
	.section-title {
		font-family:var(--sm-sans);
		font-size:0.7rem;
		letter-spacing:3px;
		text-transform:uppercase;
		font-weight:700;
	}

	.hero h1 {
		max-width:760px;
		margin:20px auto;
		font-size:clamp(2.15rem,5vw,4.35rem);
		line-height:1.02;
		letter-spacing:-.035em;
	}

	.article-card {
		display:block;
		background:var(--sm-paper);
		border:1px solid var(--sm-line);
		height:100%;
		color:inherit;
		text-decoration:none;
		overflow:hidden;
		transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
	}
	.article-card-image{
		overflow:hidden;
		aspect-ratio:3/4;
	}
	.article-card-image img{
		width:100%;
		height:100%;
		object-fit:cover;
		object-position:center;
		display:block;
	}
	.article-card:hover{
		transform:translateY(-5px);
		border-color:#cfc4b7;
		box-shadow:0 18px 40px rgba(70,55,40,.08);
	}

.article-card img {
		width:100%;
		aspect-ratio:3 / 4;
		object-fit:cover;
		display:block;
	
		transform-origin:center top;
	
		transition:
			transform .9s cubic-bezier(.22,1,.36,1),
			filter .9s ease;
	}
	
	.article-card:hover img{
		transform:translateY(-6px) scale(1.03);
		filter:saturate(.96) contrast(1.03);
	}

	.article-card-body {
		padding:18px;
	}

	.article-category {
		font-family:var(--sm-sans);
		font-size:0.65rem;
		letter-spacing:2px;
		text-transform:uppercase;
		color:var(--sm-muted);
		margin-bottom:8px;
	}

	.article-title {
		font-size:1.25rem;
		line-height:1.15;
		margin-bottom:10px;
		letter-spacing:-.015em;
	}

	.article-date {
		font-size:0.8rem;
		color:var(--sm-muted);
	}

	.category-tile {
		position:relative;
		overflow:hidden;
		min-height:150px;
		color:white !important;
		display:flex;
		align-items:center;
		justify-content:center;
		text-align:center;
		background:#999;
		text-decoration:none;
	}

	.category-tile:hover{
		color:white !important;
	}

	.category-tile img {
		position:absolute;
		inset:0;
		width:100%;
		height:100%;
		object-fit:cover;
		filter:brightness(62%);
		transition:transform .65s ease, filter .65s ease;
	}

	.category-tile:hover img{
		transform:scale(1.06);
		filter:brightness(48%);
	}

	.category-tile-content {
		position:relative;
		z-index:2;
		font-family:var(--sm-sans);
		letter-spacing:2px;
		text-transform:uppercase;
		font-size:0.75rem;
		font-weight:700;
		transform:translateY(3px);
		transition:transform .3s ease;
	}

	.category-tile:hover .category-tile-content{
		transform:translateY(0);
	}

.more-posts{
		position: relative;
		display: inline-block;
		font-family: var(--sm-sans);
		font-size: .75rem;
		letter-spacing: 2px;
		text-transform: uppercase;
		font-weight: 700;
		transition: opacity .2s ease;
	}




	
	.more-posts::after{
		content: "";
		position: absolute;
		left: 0;
		bottom: -6px;
		width: 100%;
		height: 1px;
		background: currentColor;
		transform: scaleX(0);
		transform-origin: left;
		transition:.25s cubic-bezier(.22,1,.36,1);
	}
	.more-posts:hover{
	
	opacity:.85;
	
	}
	.more-posts:hover::after{
		transform: scaleX(1);
		
	}

	.d-flex.align-items-center.my-5{
		max-width:1040px;
		margin-left:auto;
		margin-right:auto;
	}

	.search-trigger{
		transition:opacity .2s ease, transform .2s ease;
	}

	.search-trigger:hover{
		opacity:.58;
		transform:translateY(-1px);
	}

	.search-overlay{
		position:fixed;
		inset:0;
		display:none;
		z-index:2000;
		background:rgba(247,244,239,.96);
		backdrop-filter:blur(22px);
	}

	.search-overlay.is-open{
		display:block;
	}

	.search-panel{
		min-height:100vh;
		display:flex;
		align-items:center;
		justify-content:center;
		padding:2rem;
	}

	.search-box{
		width:min(720px,100%);
		text-align:center;
	}

	.search-close{
		position:absolute;
		top:1.25rem;
		right:1.25rem;
		border:0;
		background:transparent;
		font-size:2rem;
		line-height:1;
	}

	.search-eyebrow{
		font-family:var(--sm-sans);
		font-size:.68rem;
		letter-spacing:3px;
		text-transform:uppercase;
		font-weight:700;
		color:var(--sm-muted);
		margin-bottom:1rem;
	}

	.search-box h2{
		font-size:clamp(2.25rem,6vw,5rem);
		line-height:.98;
		letter-spacing:-.045em;
		margin-bottom:2rem;
	}

	.search-input{
		border:0;
		border-bottom:1px solid var(--sm-ink);
		border-radius:0;
		background:transparent;
		text-align:center;
		font-family:var(--sm-serif);
		font-size:1.25rem;
		padding:1rem;
	}

	.search-input:focus{
		background:transparent;
		box-shadow:none;
		border-color:var(--sm-ink);
	}

	.newsletter-title{
		font-size:clamp(1.85rem,3.4vw,2.65rem);
		font-weight:normal;
		margin-bottom:1rem;
		letter-spacing:-.025em;
	}

	.newsletter-description{
		max-width:500px;
		margin-left:auto;
		margin-right:auto;
		font-size:.95rem;
		line-height:1.7;
	}

	.newsletter-form{
		max-width:540px;
	}

	.newsletter-form .input-group{
		border:1px solid var(--sm-line);
		border-radius:999px;
		overflow:hidden;
		padding:.25rem;
		background:rgba(255,250,243,.7);
	}

	.newsletter-form .form-control{
		background:transparent;
		border:0;
		padding:.85rem 1rem;
	}

	.newsletter-form .form-control:focus{
		box-shadow:none;
		border-color:#1f1f1f;
	}

	.newsletter-form .btn{
		border-radius:999px !important;
		padding-left:1.5rem;
		padding-right:1.5rem;
	}

	.site-footer h6{
		letter-spacing:2px;
	}

	.site-footer a{
		transition:opacity .2s ease;
	}

	.site-footer a:hover{
		opacity:.6;
	}

	@media (max-width:991.98px){
		.nav-link::after{display:none;}
		.navbar-collapse{padding-top:1rem;}
	}

	@media (max-width:767px) {
	
	.mobile-article{
		display:flex;
		gap:18px;
		align-items:flex-start;
		border-bottom:1px solid var(--sm-line);
		padding-bottom:18px;
		color:inherit;
		text-decoration:none;
	}
	
	.mobile-article img{
		flex:0 0 42%;
		width:42%;
		height:auto;
		aspect-ratio:3 / 4;
		object-fit:cover;
		object-position:center;
		display:block;
	}
	
		.hero {
			padding:45px 0 35px;
		}
	
		.hero h1{
			max-width:360px;
			line-height:1.02;
		}
	
		.newsletter-form{
			max-width:100%;
		}
	
		.newsletter-form .form-control{
			min-width:0;
		}
	
		.newsletter-form .btn{
			white-space:nowrap;
		}
	}



	/* Custom GSAP mobile menu */
	.mobile-menu{
		position:absolute;
		left:0;
		right:0;
		top:100%;
		z-index:999;
		opacity:0;
		visibility:hidden;
		pointer-events:none;
		transform:translateY(-12px);
		background:rgba(255,250,243,.97);
		border-bottom:1px solid var(--sm-line);
		box-shadow:0 18px 40px rgba(70,55,40,.06);
	}

	.mobile-menu.is-open{
		pointer-events:auto;
	}

	.mobile-menu-nav{
		padding:1.6rem 0 1.45rem;
		display:flex;
		flex-direction:column;
		align-items:center;
		gap:.95rem;
	}

	.mobile-menu-link{
		font-family:var(--sm-sans);
		font-size:.78rem;
		letter-spacing:2.7px;
		text-transform:uppercase;
		font-weight:700;
		color:var(--sm-ink);
		text-decoration:none;
		opacity:.92;
		transition:opacity .2s ease, transform .2s ease;
	}

	.mobile-menu-link:hover{
		opacity:.6;
		transform:translateY(-1px);
	}

	@media (max-width:991.98px){
		.nav-link::after{display:none;}
	}
	.mobile-read-more{
		font-family:var(--sm-sans);
		font-size:.7rem;
		letter-spacing:2px;
		text-transform:uppercase;
		font-weight:700;
		margin-top:1rem;
	}
	
	/* Single post */
	.single-hero{
		padding:74px 0 42px;
		text-align:center;
	}
	
	.single-kicker{
		font-family:var(--sm-sans);
		font-size:.68rem;
		letter-spacing:3px;
		text-transform:uppercase;
		font-weight:700;
		color:var(--sm-muted);
		margin-bottom:1rem;
	}
	
	.single-title{
		max-width:860px;
		margin:0 auto 1.25rem;
		font-size:clamp(2.4rem,6vw,5.35rem);
		line-height:.98;
		letter-spacing:-.05em;
		font-weight:normal;
	}
	
	.single-meta{
		font-family:var(--sm-sans);
		font-size:.72rem;
		letter-spacing:2px;
		text-transform:uppercase;
		color:var(--sm-muted);
	}
	
	.single-featured{
		margin-top:1rem;
		margin-bottom:4.5rem;
	}
	
	.single-featured img{
		width:100%;
		aspect-ratio:16 / 9;
		object-fit:cover;
		display:block;
		border:1px solid var(--sm-line);
	}
	
	.single-content{
		font-size:1.08rem;
		line-height:1.85;
	}
	
	.single-content p{
		margin-bottom:1.55rem;
	}
	
	.single-content .lead{
		font-size:1.28rem;
		line-height:1.75;
		color:#333;
		margin-bottom:2rem;
	}
	
	.single-content h2{
		font-size:clamp(1.85rem,3vw,2.6rem);
		line-height:1.08;
		letter-spacing:-.035em;
		font-weight:normal;
		margin:4rem 0 1.35rem;
	}
	
	.single-content figure{
		margin:4rem 0;
	}
	
	.single-content figure img{
		width:100%;
		display:block;
		aspect-ratio:4 / 3;
		object-fit:cover;
		border:1px solid var(--sm-line);
	}
	
	.single-content figcaption{
		margin-top:.8rem;
		font-family:var(--sm-sans);
		font-size:.7rem;
		letter-spacing:1.5px;
		text-transform:uppercase;
		color:var(--sm-muted);
		text-align:center;
	}
	
	.single-quote{
		margin:4.5rem auto;
		padding:3rem 0;
		border-top:1px solid var(--sm-line);
		border-bottom:1px solid var(--sm-line);
		text-align:center;
	}
	
	.single-quote blockquote{
		max-width:620px;
		margin:0 auto;
		font-size:clamp(1.7rem,3vw,2.45rem);
		line-height:1.18;
		letter-spacing:-.035em;
	}
	
	.single-quote .quote-mark{
		display:block;
		font-family:var(--sm-sans);
		font-size:.8rem;
		letter-spacing:3px;
		color:var(--sm-muted);
		margin-bottom:1.1rem;
	}
	
	.post-nav{
		border-top:1px solid var(--sm-line);
		border-bottom:1px solid var(--sm-line);
		padding:1.4rem 0;
		margin:4.5rem 0;
	}
	
	.post-nav a{
		font-family:var(--sm-sans);
		font-size:.7rem;
		letter-spacing:2px;
		text-transform:uppercase;
		font-weight:700;
		text-decoration:none;
		transition:opacity .2s ease;
	}
	
	.post-nav a:hover{
		opacity:.6;
	}
	
	.related-posts{
		padding-top:1rem;
	}
	
	@media (max-width:767px){
		.single-hero{
			padding:48px 0 30px;
		}
	
		.single-title{
			max-width:360px;
		}
	
		.single-featured{
			margin-bottom:3rem;
		}
	
		.single-featured img{
			aspect-ratio:4 / 5;
		}
	
		.single-content{
			font-size:1rem;
			line-height:1.78;
		}
	
		.single-content .lead{
			font-size:1.15rem;
		}
	
		.single-quote{
			margin:3.25rem auto;
			padding:2.4rem 0;
		}
	}
	
	
	/* Single v2: author + comments */
	.author-box{
		margin:5rem 0 4.25rem;
		padding:3rem 0;
		border-top:1px solid var(--sm-line);
		border-bottom:1px solid var(--sm-line);
		text-align:center;
	}
	
	.author-avatar{
		width:78px;
		height:78px;
		border-radius:50%;
		object-fit:cover;
		margin:0 auto 1.25rem;
		border:1px solid var(--sm-line);
		display:block;
	}
	
	.author-name{
		font-size:1.55rem;
		line-height:1.1;
		letter-spacing:-.025em;
		margin-bottom:.9rem;
	}
	
	.author-bio{
		max-width:520px;
		margin:0 auto 1.25rem;
		color:var(--sm-muted);
		line-height:1.75;
	}
	
	.author-link{
		font-family:var(--sm-sans);
		font-size:.7rem;
		letter-spacing:2px;
		text-transform:uppercase;
		font-weight:700;
		text-decoration:none;
		position:relative;
		display:inline-block;
	}
	
	.author-link::after{
		content:"";
		position:absolute;
		left:0;
		bottom:-6px;
		width:100%;
		height:1px;
		background:currentColor;
		transform:scaleX(0);
		transform-origin:left;
		transition:.25s cubic-bezier(.22,1,.36,1);
	}
	
	.author-link:hover::after{
		transform:scaleX(1);
	}
	
	.comments-section{
		margin:0 0 5rem;
	}
	
	.comments-header{
		text-align:center;
		margin-bottom:2.75rem;
	}
	
	.comments-count{
		font-family:var(--sm-sans);
		font-size:.68rem;
		letter-spacing:3px;
		text-transform:uppercase;
		font-weight:700;
		color:var(--sm-muted);
		margin-top:.8rem;
	}
	
	.comment-item{
		padding:1.8rem 0;
		border-top:1px solid var(--sm-line);
	}
	
	.comment-item:last-child{
		border-bottom:1px solid var(--sm-line);
	}
	
	.comment-meta{
		display:flex;
		align-items:baseline;
		justify-content:space-between;
		gap:1rem;
		margin-bottom:.8rem;
	}
	
	.comment-author{
		font-family:var(--sm-sans);
		font-size:.72rem;
		letter-spacing:2px;
		text-transform:uppercase;
		font-weight:700;
	}
	
	.comment-date{
		font-family:var(--sm-sans);
		font-size:.66rem;
		letter-spacing:1.5px;
		text-transform:uppercase;
		color:var(--sm-muted);
	}
	
	.comment-body{
		color:#333;
		line-height:1.75;
		margin-bottom:.8rem;
	}
	
	.comment-reply{
		font-family:var(--sm-sans);
		font-size:.66rem;
		letter-spacing:2px;
		text-transform:uppercase;
		font-weight:700;
		text-decoration:none;
		opacity:.75;
	}
	
	.comment-reply:hover{
		opacity:1;
	}
	
	.comment-form-wrap{
		margin-top:3.25rem;
		padding:2.6rem;
		background:rgba(255,250,243,.55);
		border:1px solid var(--sm-line);
	}
	
	.comment-form-title{
		font-size:clamp(1.75rem,3vw,2.35rem);
		line-height:1.08;
		letter-spacing:-.035em;
		font-weight:normal;
		text-align:center;
		margin-bottom:1.8rem;
	}
	
	.comment-form .form-control{
		border:0;
		border-bottom:1px solid var(--sm-line);
		border-radius:0;
		background:transparent;
		padding:.85rem 0;
		font-family:var(--sm-serif);
	}
	
	.comment-form .form-control:focus{
		box-shadow:none;
		border-color:var(--sm-ink);
		background:transparent;
	}
	
	.comment-form textarea{
		min-height:150px;
		resize:vertical;
	}
	
	.comment-form .btn{
		font-family:var(--sm-sans);
		font-size:.7rem;
		letter-spacing:2px;
		text-transform:uppercase;
		font-weight:700;
		border-radius:999px;
		padding:.8rem 1.6rem;
	}
	
	@media (max-width:767px){
		.author-box{
			margin:3.75rem 0 3.25rem;
			padding:2.5rem 0;
		}
	
		.comment-meta{
			display:block;
		}
	
		.comment-date{
			margin-top:.35rem;
		}
	
		.comment-form-wrap{
			padding:1.6rem;
		}
	}
	
	.site-footer-title{
		letter-spacing:2px;
	}
	
	.footer-menu{
		display:flex;
		justify-content:center;
		align-items:center;
		flex-wrap:wrap;
		gap:.9rem;
	}
	
	.footer-menu-link{
		transition:opacity .2s ease;
	}
	
	.footer-menu-link:hover{
		opacity:.6;
	}
	
	.footer-menu-link + .footer-menu-link::before{
		content:"·";
		margin-right:.9rem;
		color:var(--sm-muted);
	}
	
	.footer-meta{
		margin-top:2.5rem;
		font-size:.78rem;
		color:var(--sm-muted);
	}
	
	.footer-meta a{
		color:inherit;
		text-decoration:none;
		transition:opacity .2s ease;
	}
	
	.footer-meta a:hover{
		opacity:.6;
	}

