:root{
	--jmi-bg:#f7f1ea;
	--jmi-surface:#ffffff;
	--jmi-surface-2:#fbf6f0;
	--jmi-text:#3a2f2a;
	--jmi-muted:#6e625c;
	--jmi-border:rgba(58,47,42,.10);
	--jmi-shadow:0 12px 30px rgba(58,47,42,.10);
	--jmi-radius:18px;
	--jmi-accent:#b87054; /* overridden via inline style */
	--jmi-accent-2:#d89a7d;
	--jmi-max:1120px;
	--jmi-reading:780px;
	--jmi-font-body:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
	--jmi-font-display:"Playfair Display", ui-serif, Georgia, serif;
	--jmi-font-script:"Dancing Script", cursive;
}

body{
	background:var(--jmi-bg);
	color:var(--jmi-text);
	font-family:var(--jmi-font-body);
	line-height:1.65;
}

.jmi-container{
	max-width:var(--jmi-max);
	margin:0 auto;
	padding:0 20px;
}

.jmi-main{ padding-bottom:40px; }

.jmi-screen-reader-text{
	position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;
}

.jmi-skip-link{
	position:absolute; left:-999px; top:10px; background:var(--jmi-surface); padding:10px 14px; border-radius:12px; box-shadow:var(--jmi-shadow);
}
.jmi-skip-link:focus{ left:10px; z-index:9999; }

.jmi-header{
	/* Sticky header that plays nicely with WP admin bar */
	position:sticky;
	top:var(--wp-admin--admin-bar--height, 0px);
	z-index:50;
	/* Background handled by topbar + main for a more "delicate" look */
	background:transparent;
}
.jmi-topbar{
	background:rgba(255,255,255,.20);
	border-bottom:1px solid var(--jmi-border);
	backdrop-filter:saturate(140%) blur(8px);
}
.jmi-topbar__inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:10px 0;
}
.jmi-topbar__text{
	margin:0;
	font-size:13px;
	color:var(--jmi-muted);
}
.jmi-btn--topbar{
	background:rgba(184,112,84,.12);
	color:var(--jmi-accent);
	border:1px solid rgba(184,112,84,.18);
	box-shadow:none;
}
.jmi-btn--topbar:hover{ background:rgba(184,112,84,.18); }

.jmi-header__main{
	position:relative;
	background:rgba(247,241,234,.92);
	backdrop-filter:saturate(140%) blur(8px);
	border-bottom:1px solid var(--jmi-border);
}
.jmi-header__inner{
	display:flex;
	align-items:center;
	gap:16px;
	padding:14px 0;
}

.jmi-header--slim .jmi-header__inner{ padding:8px 0; }
.jmi-header--slim .jmi-logo img{ max-height:44px; }
.jmi-header--slim .jmi-search__input{ width:180px; max-width:44vw; }
.jmi-header--slim .jmi-site-tagline{ display:none; }
.jmi-header--slim .jmi-header__ornament{ display:none; }

@media (max-width: 920px){
	.jmi-header--slim .jmi-nav{ top:100%; }
}
/* Delicate separators (header/footer) */
.jmi-ornament,
.jmi-header__ornament{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	padding:10px 0 0;
}
.jmi-header__ornament{ padding:0 0 10px; }
.jmi-ornament::before,
.jmi-ornament::after,
.jmi-header__ornament::before,
.jmi-header__ornament::after{
	content:"";
	flex:1;
	max-width:340px;
	height:1px;
	background:linear-gradient(90deg, transparent, rgba(184,112,84,.28), transparent);
}
.jmi-ornament__icon{
	font-size:12px;
	line-height:1;
	color:rgba(184,112,84,.55);
}

@media (max-width: 920px){
	.jmi-topbar__inner{ flex-direction:column; align-items:flex-start; }
}
.jmi-branding{ display:flex; align-items:center; gap:12px; min-width:220px; }
.jmi-logo img{ display:block; max-height:52px; width:auto; }
.jmi-site-title{ margin:0; font-family:var(--jmi-font-display); font-weight:600; font-size:18px; line-height:1.2; }
.jmi-site-title a{ text-decoration:none; }
.jmi-site-tagline{ margin:2px 0 0; font-size:12px; color:var(--jmi-muted); }

.jmi-nav{ margin-left:auto; }
.jmi-nav ul{ list-style:none; margin:0; padding:0; display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
.jmi-nav a{
	position:relative;
	display:inline-block;
	text-decoration:none;
	padding:8px 6px;
	border-radius:10px;
	font-weight:500;
	letter-spacing:.1px;
}
.jmi-nav a::after{
	content:"";
	position:absolute;
	left:10px;
	right:10px;
	bottom:6px;
	height:1px;
	background:linear-gradient(90deg, transparent, rgba(184,112,84,.55), transparent);
	transform:scaleX(0);
	transform-origin:center;
	transition:transform .18s ease;
	opacity:.85;
}
.jmi-nav a:hover::after,
.jmi-nav .current-menu-item > a::after,
.jmi-nav .current-menu-parent > a::after,
.jmi-nav .current_page_item > a::after{
	transform:scaleX(1);
}
.jmi-nav .current-menu-item > a,
.jmi-nav .current-menu-parent > a,
.jmi-nav .current_page_item > a{
	color:var(--jmi-accent);
}
.jmi-nav a:focus-visible{
	outline:2px solid rgba(184,112,84,.35);
	outline-offset:3px;
}

.jmi-header__actions{ display:flex; align-items:center; gap:10px; }
.jmi-search{ display:flex; gap:8px; align-items:center; }
.jmi-search__input{
	width:220px; max-width:32vw;
	padding:10px 12px;
	border-radius:14px;
	border:1px solid var(--jmi-border);
	background:var(--jmi-surface);
	color:var(--jmi-text);
}
.jmi-search__button{
	padding:10px 12px;
	border-radius:14px;
	border:1px solid var(--jmi-border);
	background:var(--jmi-surface);
	cursor:pointer;
}
.jmi-search__button:hover{ border-color:rgba(184,112,84,.35); }

.jmi-nav-toggle{
	display:none;
	border:1px solid var(--jmi-border);
	background:var(--jmi-surface);
	border-radius:14px;
	padding:10px 12px;
	cursor:pointer;
}
.jmi-nav-toggle:hover{ border-color:rgba(184,112,84,.35); }

@media (max-width: 920px){
	.jmi-header__actions{ display:none; }
	.jmi-nav-toggle{ display:inline-flex; margin-left:auto; }
	.jmi-nav{ position:absolute; left:0; right:0; top:100%; background:rgba(247,241,234,.98); border-bottom:1px solid var(--jmi-border); display:none; }
	.jmi-nav.is-open{ display:block; }
	.jmi-nav ul{ flex-direction:column; align-items:flex-start; padding:10px 20px 16px; gap:6px; }
	.jmi-nav a{ width:100%; }
}

/* Sections */
.jmi-section{ padding:56px 0; }
.jmi-section--soft{ background:var(--jmi-surface-2); }
.jmi-section--cta{ background:linear-gradient(180deg, rgba(184,112,84,.08), rgba(184,112,84,.02)); }

.jmi-section__header{ text-align:center; margin-bottom:18px; }
.jmi-section__title{
	margin:0;
	font-family:var(--jmi-font-display);
	font-size:28px;
	font-weight:600;
	letter-spacing:-.02em;
}
.jmi-section__lead{ margin:10px auto 0; color:var(--jmi-muted); max-width:720px; }
.jmi-script{ font-family:var(--jmi-font-script); font-weight:600; color:rgba(58,47,42,.82); }

/* Hero */
.jmi-hero{
	padding:70px 0 34px;
	background:
		radial-gradient(60% 60% at 50% 10%, rgba(184,112,84,.10), transparent 60%),
		linear-gradient(180deg, rgba(255,255,255,.25), rgba(255,255,255,0));
}
.jmi-hero__inner{ text-align:center; max-width:860px; }
.jmi-hero__brand{
	margin:0;
	font-family:var(--jmi-font-script);
	font-size:56px;
	line-height:1.05;
	letter-spacing:.01em;
	color:rgba(58,47,42,.78);
}
.jmi-hero__subtitle{
	margin:16px auto 0;
	color:var(--jmi-muted);
	font-size:18px;
	max-width:720px;
}
.jmi-hero__cta{ margin:22px 0 0; }

/* Buttons */
.jmi-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	text-decoration:none;
	border-radius:14px;
	padding:12px 16px;
	font-weight:600;
	border:1px solid transparent;
}

/* Gutenberg basic styling to match the theme */
.wp-block-button .wp-block-button__link{
	border-radius:14px;
	padding:12px 18px;
	background:var(--jmi-accent);
	color:#fff;
	border:1px solid rgba(0,0,0,.0);
	box-shadow:var(--jmi-shadow);
	text-decoration:none;
}
.wp-block-button .wp-block-button__link:hover{ filter:brightness(.98); }
.wp-block-button.is-style-jmi-pill .wp-block-button__link,
.wp-block-button.is-style-jmi-pill a.wp-block-button__link{
	border-radius:999px;
}

.jmi-entry-content .jmi-card,
.wp-block-group.jmi-card{
	background:var(--jmi-surface);
	border:1px solid var(--jmi-border);
	border-radius:22px;
	box-shadow:var(--jmi-shadow);
	padding:22px;
}
.wp-block-image.jmi-card{ overflow:hidden; }
.wp-block-group.jmi-home-hero{ padding:84px 0 34px; }
.wp-block-group.jmi-home-hero p{ max-width:680px; margin-left:auto; margin-right:auto; }
.jmi-btn--pill{ border-radius:999px; padding:12px 22px; }
.jmi-btn--primary{
	background:var(--jmi-accent);
	color:#fff;
	box-shadow:0 12px 24px rgba(184,112,84,.22);
}
.jmi-btn--primary:hover{ filter:saturate(1.05) brightness(0.98); }
.jmi-link{ color:var(--jmi-accent); font-weight:600; text-decoration:none; }
.jmi-link:hover{ text-decoration:underline; }

/* Layout */
.jmi-layout{
	display:grid;
	grid-template-columns: 1fr 320px;
	gap:28px;
	align-items:start;
}
.jmi-layout--narrow{
	grid-template-columns: minmax(0, var(--jmi-reading));
	justify-content:center;
}
.jmi-content{ min-width:0; }
@media (max-width: 1020px){
	.jmi-layout{ grid-template-columns: 1fr; }
}

/* Cards & grids */
.jmi-grid{ display:grid; gap:18px; }
.jmi-grid--4{ grid-template-columns:repeat(4, minmax(0, 1fr)); }
.jmi-grid--3{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
@media (max-width: 980px){ .jmi-grid--4{ grid-template-columns:repeat(2, minmax(0,1fr)); } .jmi-grid--3{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .jmi-grid--4, .jmi-grid--3{ grid-template-columns:1fr; } }

.jmi-card{
	background:var(--jmi-surface);
	border:1px solid var(--jmi-border);
	border-radius:var(--jmi-radius);
	box-shadow:var(--jmi-shadow);
	overflow:hidden;
}
.jmi-card__media{ display:block; aspect-ratio: 16/10; background:rgba(58,47,42,.04); }
.jmi-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.jmi-card__media-bg{
	display:block; width:100%; height:100%;
	background:
		linear-gradient(135deg, rgba(184,112,84,.20), rgba(184,112,84,.04)),
		radial-gradient(40% 60% at 30% 20%, rgba(58,47,42,.07), transparent 60%);
}
.jmi-card__body{ padding:16px 16px 18px; }
.jmi-card__title{ margin:0; font-family:var(--jmi-font-display); font-weight:600; font-size:18px; }
.jmi-card__title a{ text-decoration:none; }
.jmi-card__title a:hover{ text-decoration:underline; }
.jmi-card__text{ margin:10px 0 0; color:var(--jmi-muted); font-size:14px; }
.jmi-card__meta{ margin-top:8px; font-size:12px; color:var(--jmi-muted); }

.jmi-badge{ margin:0 0 8px; font-size:12px; }
.jmi-badge a{
	display:inline-flex;
	align-items:center;
	padding:4px 10px;
	border-radius:999px;
	background:rgba(184,112,84,.10);
	color:var(--jmi-accent);
	text-decoration:none;
	font-weight:700;
}
.jmi-badge a:hover{ background:rgba(184,112,84,.16); }

.jmi-card--featured{ padding:0; }
.jmi-card--featured__grid{ display:grid; grid-template-columns: 1.2fr 1fr; }
.jmi-card--featured__media{ display:block; min-height:260px; }
.jmi-card--featured__media img{ height:100%; }
.jmi-card--featured__body{ padding:24px; display:flex; flex-direction:column; justify-content:center; }
@media (max-width: 860px){
	.jmi-card--featured__grid{ grid-template-columns:1fr; }
	.jmi-card--featured__body{ padding:18px; }
}

/* Audience section */
.jmi-audience{ display:grid; grid-template-columns: 1.05fr .95fr; gap:18px; align-items:stretch; }
@media (max-width: 900px){ .jmi-audience{ grid-template-columns:1fr; } }

.jmi-audience__card{ padding:24px; }
.jmi-card__title{ }
.jmi-checklist{ list-style:none; padding:0; margin:18px 0 0; display:grid; gap:12px; }
.jmi-checklist__item{ display:flex; gap:10px; align-items:flex-start; }
.jmi-checklist__icon{
	width:26px; height:26px; flex:0 0 26px;
	display:inline-flex; align-items:center; justify-content:center;
	border-radius:8px;
	background:rgba(184,112,84,.12);
	color:var(--jmi-accent);
	font-weight:900;
}
.jmi-checklist__text{ color:var(--jmi-muted); }

.jmi-audience__media{ border-radius:var(--jmi-radius); overflow:hidden; border:1px solid var(--jmi-border); box-shadow:var(--jmi-shadow); background:rgba(58,47,42,.03); }
.jmi-audience__media-inner img{ width:100%; height:100%; object-fit:cover; display:block; }
.jmi-audience__placeholder{ width:100%; min-height:260px; background:linear-gradient(135deg, rgba(184,112,84,.22), rgba(184,112,84,.04)); }

/* Archive header */
.jmi-archive-head{ padding:34px 0; }
.jmi-page-title{
	margin:10px 0 0;
	font-family:var(--jmi-font-display);
	font-size:36px;
	letter-spacing:-.02em;
}
.jmi-page-lead{ margin:10px 0 0; color:var(--jmi-muted); max-width:780px; }

/* Breadcrumbs */
.jmi-breadcrumbs{ font-size:12px; color:var(--jmi-muted); display:flex; flex-wrap:wrap; gap:8px; }
.jmi-breadcrumbs a{ color:var(--jmi-muted); text-decoration:none; }
.jmi-breadcrumbs a:hover{ text-decoration:underline; }

/* Post typography */
.jmi-post__header{ margin-bottom:18px; }
.jmi-post__title{ margin:10px 0 0; font-family:var(--jmi-font-display); font-size:40px; line-height:1.15; letter-spacing:-.02em; }
.jmi-post__meta{ margin-top:10px; color:var(--jmi-muted); font-size:13px; }
.jmi-post__thumb{ margin-top:18px; border-radius:var(--jmi-radius); overflow:hidden; border:1px solid var(--jmi-border); box-shadow:var(--jmi-shadow); }
.entry-content{ font-size:18px; }
.entry-content p{ margin:0 0 1em; }
.entry-content h2, .entry-content h3{
	font-family:var(--jmi-font-display);
	margin:1.6em 0 .6em;
	line-height:1.25;
}
.entry-content h2{ font-size:28px; }
.entry-content h3{ font-size:22px; }
.entry-content a{ color:var(--jmi-accent); }
.entry-content blockquote{
	margin:1.4em 0; padding:16px 18px;
	border-left:4px solid rgba(184,112,84,.45);
	background:rgba(184,112,84,.08);
	border-radius:16px;
	color:rgba(58,47,42,.88);
}
.entry-content ul, .entry-content ol{ padding-left:1.2em; }
.entry-content img{ border-radius:16px; }

.jmi-tags{ margin-top:14px; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.jmi-tags__label{ color:var(--jmi-muted); font-size:12px; }
.jmi-tags a{ font-size:12px; background:rgba(58,47,42,.06); padding:6px 10px; border-radius:999px; text-decoration:none; }
.jmi-tags a:hover{ background:rgba(184,112,84,.12); }

/* Author + related */
.jmi-author, .jmi-about{ display:flex; gap:16px; padding:18px; align-items:center; }
.jmi-author__avatar, .jmi-about__avatar{ border-radius:16px; }
.jmi-author__name, .jmi-about__name{ margin:0; font-weight:800; }
.jmi-author__bio, .jmi-about__bio{ margin:6px 0 0; color:var(--jmi-muted); }
.jmi-related{ margin-top:32px; }
.jmi-related .jmi-section__title{ text-align:left; margin-bottom:14px; }

@media (max-width: 640px){
	.jmi-author, .jmi-about{ flex-direction:column; align-items:flex-start; }
}

/* CTA */
.jmi-cta{ padding:28px 22px; text-align:center; }
.jmi-cta__title{ margin:0; font-family:var(--jmi-font-display); font-size:28px; }
.jmi-cta__actions{ margin:18px 0 0; }

/* Steps */
.jmi-steps{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:18px; }
.jmi-step{ padding:18px; }
.jmi-step__num{ margin:0; font-weight:900; color:rgba(184,112,84,.65); }
.jmi-step__title{ margin:8px 0 0; font-family:var(--jmi-font-display); }
.jmi-step__text{ margin:8px 0 0; color:var(--jmi-muted); }
@media (max-width: 900px){ .jmi-steps{ grid-template-columns:1fr; } }

/* Sidebar */
.jmi-sidebar{ position:sticky; top:92px; align-self:start; display:grid; gap:14px; }
@media (max-width: 1020px){ .jmi-sidebar{ position:static; } }
.jmi-widget{ padding:16px; background:var(--jmi-surface); border:1px solid var(--jmi-border); border-radius:var(--jmi-radius); box-shadow:var(--jmi-shadow); }
.jmi-widget__title{ margin:0 0 10px; font-family:var(--jmi-font-display); font-size:16px; }
.jmi-widget a{ color:var(--jmi-accent); }

/* Footer */
.jmi-footer{
	background:rgba(255,255,255,.40);
	border-top:1px solid var(--jmi-border);
	padding:44px 0 18px;
}

.jmi-footer-cta{
	margin:-10px 0 20px;
	text-align:center;
}
.jmi-footer-cta__card{
	max-width:860px;
	margin:0 auto;
	padding:28px 22px;
	border-radius:calc(var(--jmi-radius) + 6px);
	border:1px solid rgba(184,112,84,.14);
	background:
		radial-gradient(60% 60% at 50% 0%, rgba(184,112,84,.16), transparent 65%),
		linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.40));
	box-shadow:var(--jmi-shadow);
}
.jmi-footer-cta__title{
	margin:0;
	font-family:var(--jmi-font-display);
	font-size:22px;
	font-weight:650;
}
.jmi-footer-cta__text{
	margin:10px auto 16px;
	max-width:640px;
	color:var(--jmi-muted);
}
.jmi-footer__grid{
	display:grid;
	grid-template-columns: 1.2fr 1fr 1fr 1fr;
	gap:18px;
}
@media (max-width: 980px){ .jmi-footer__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width: 640px){ .jmi-footer__grid{ grid-template-columns:1fr; } }
.jmi-footer__brand{ margin:0; }
.jmi-footer__tag{ color:var(--jmi-muted); }
.jmi-footer__bottom{ margin-top:22px; padding-top:14px; border-top:1px solid var(--jmi-border); }
.jmi-small{ font-size:12px; color:var(--jmi-muted); margin:0; }
.jmi-muted{ color:var(--jmi-muted); }
.jmi-linklist{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.jmi-linklist a{ text-decoration:none; color:var(--jmi-muted); }
.jmi-linklist a:hover{ color:var(--jmi-accent); text-decoration:underline; }

/* Pagination */
.jmi-pagination{ margin-top:20px; }
.page-numbers{
	display:inline-flex;
	padding:8px 12px;
	border-radius:12px;
	border:1px solid var(--jmi-border);
	background:var(--jmi-surface);
	text-decoration:none;
	margin-right:6px;
}
.page-numbers.current{ background:rgba(184,112,84,.10); border-color:rgba(184,112,84,.25); }

/* 404 */
.jmi-404{ text-align:center; max-width:860px; }
.jmi-404__actions{ margin-top:18px; display:flex; justify-content:center; gap:10px; flex-wrap:wrap; }
.jmi-404__cats{ margin-top:26px; text-align:left; }
