:root,[data-theme="light"]{--color-bg:#f7f6f2;--color-surface:#fcfbf8;--color-surface-2:#f2efe9;--color-surface-offset:#ebe7df;--color-border:rgba(40,37,29,.12);--color-text:#28251d;--color-text-muted:#6d6a63;--color-text-inverse:#f9f8f4;--color-primary:var(--brand-color,#01696f);--color-accent:var(--brand-accent,#d19900);--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.25rem;--shadow-sm:0 10px 30px rgba(33,28,22,.06);--shadow-md:0 18px 45px rgba(33,28,22,.1);--font-body:'Satoshi','Inter',sans-serif;--font-display:'Boska','Georgia',serif}
[data-theme="dark"]{--color-bg:#161513;--color-surface:#1e1c19;--color-surface-2:#26231f;--color-surface-offset:#2d2a25;--color-border:rgba(255,255,255,.12);--color-text:#ece8df;--color-text-muted:#b8b2a8;--color-text-inverse:#111111;--shadow-sm:0 10px 30px rgba(0,0,0,.2);--shadow-md:0 18px 45px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.cjp-body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.65;background:var(--color-bg);color:var(--color-text)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;padding:.75rem 1rem;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);z-index:99}.container{width:min(1200px,calc(100% - 2rem));margin-inline:auto}.narrow-page{width:min(860px,calc(100% - 2rem));margin-inline:auto}
.cjp-site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--color-bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border)}.cjp-topbar,.cjp-nav,.cjp-hero,.article-shell,.footer-bottom{display:flex;gap:1rem}.cjp-topbar{justify-content:space-between;align-items:center;padding:1rem 0}.cjp-logo{display:flex;align-items:center;gap:.9rem}.cjp-logo-mark{width:3rem;height:3rem;display:grid;place-items:center;border-radius:1rem;background:color-mix(in srgb,var(--color-primary) 12%, var(--color-surface));color:var(--color-primary)}.cjp-logo strong,.hero-copy h1,.page-intro h1,.article-intro h1,.feature-card h2{font-family:var(--font-display)}.cjp-logo small{display:block;color:var(--color-text-muted);font-size:.84rem}.cjp-tools{display:flex;align-items:center;gap:.75rem}.theme-toggle,.cjp-button{min-height:44px;padding:.8rem 1.1rem;border-radius:999px;border:1px solid transparent;transition:.2s ease}.theme-toggle{display:grid;place-items:center;background:var(--color-surface);border-color:var(--color-border)}.cjp-button{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-text-inverse);font-weight:700}.cjp-button.secondary,.cjp-button.ghost{background:transparent;border-color:var(--color-border);color:var(--color-text)}
.cjp-nav{flex-wrap:wrap;padding:0 0 1rem}.cjp-nav a{padding:.45rem .8rem;border-radius:999px;color:var(--color-text-muted)}.cjp-nav a:hover,.cjp-nav a:focus-visible{background:var(--color-surface-2);color:var(--color-text)}
.eyebrow,.archive-meta{display:inline-block;padding:.35rem .7rem;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 10%, var(--color-surface));color:var(--color-primary);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.page-intro,.article-intro{display:flex;flex-direction:column;gap:.9rem;padding:2.5rem 0 1rem}.page-intro h1,.article-intro h1,.hero-copy h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.02;margin:0}.page-intro p,.hero-copy p,.prose,.article-abstract{color:var(--color-text-muted);max-width:70ch}
.cjp-hero{justify-content:space-between;align-items:stretch;flex-wrap:wrap;padding:3.5rem 0 2rem}.hero-copy,.hero-panel{flex:1 1 320px}.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:1.5rem}.feature-card,.widget-card,.content-panel,.archive-card,.article-summary-card,.meta-box,.auth-card,.issue-panel,.metric-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.feature-card,.widget-card,.content-panel,.archive-card,.article-summary-card,.meta-box,.auth-card,.issue-panel,.metric-card{padding:1.25rem}.feature-card{min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 12%,var(--color-surface)) 0%,var(--color-surface) 100%)}
.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-bottom:1.5rem}.metric-card span{display:block;color:var(--color-text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}.metric-card strong{display:block;font-size:2rem;font-family:var(--font-display);margin-top:.25rem}
.cjp-layout-grid{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,2fr) minmax(220px,.9fr);gap:1.2rem;align-items:start;padding-bottom:3rem}.cjp-layout-grid.single-right{grid-template-columns:minmax(0,2fr) minmax(280px,.9fr)}.cjp-main-column{display:grid;gap:1.25rem}.cjp-sidebar{display:grid;gap:1rem;position:sticky;top:9rem}.homepage-cover img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.archive-grid,.search-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-bottom:3rem}.archive-card h2,.archive-card h3,.article-summary-card h3,.widget-card h2,.issue-panel h2,.article-side h2{margin:.7rem 0 1rem}.text-link{color:var(--color-primary);font-weight:700}
.article-shell{display:grid;grid-template-columns:minmax(0,2.05fr) minmax(280px,.95fr);gap:1.2rem;align-items:start;padding:2.5rem 0 3rem}.article-main,.article-side,.issue-main,.search-shell{display:grid;gap:1rem}.article-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.meta-box strong{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}
.auth-shell{display:flex;justify-content:center;padding:3rem 0 4rem}.auth-card{max-width:640px;margin:auto}.cjp-site-footer{background:var(--color-surface-2);border-top:1px solid var(--color-border);padding:2.5rem 0 1.25rem}.footer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-bottom:1.5rem}.footer-links{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.footer-bottom{justify-content:space-between;flex-wrap:wrap;padding-top:1rem;border-top:1px solid var(--color-border);color:var(--color-text-muted)}
@media (max-width:980px){.cjp-layout-grid,.cjp-layout-grid.single-right,.article-shell,.archive-grid,.search-results-grid,.footer-grid,.article-meta-grid,.metrics-grid{grid-template-columns:1fr}.cjp-sidebar{position:static}.cjp-topbar{flex-wrap:wrap}.cjp-tools{width:100%;justify-content:flex-end}}
@media (max-width:640px){.container,.narrow-page{width:min(100% - 1rem,1200px)}.cjp-tools{flex-direction:column;align-items:stretch}.theme-toggle,.cjp-button{width:100%}.hero-actions{flex-direction:column}}
.hero-panel{
  position:relative;
  overflow:hidden;
  min-height:320px;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.hero-panel--has-image{
  color:#fff;
  border-color:rgba(255,255,255,.14);
  box-shadow:var(--shadow-md);
}

.hero-panel--has-image .eyebrow {
    background: rgb(126 130 16);
    color: #f5eaea;
}
.hero-panel--has-image h2,
.hero-panel--has-image .prose,
.hero-panel--has-image p{
  color:#fff;
}

.hero-panel--has-image::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.28));
  pointer-events:none;
}

.hero-panel--has-image > *{
  position:relative;
  z-index:1;
}
.sidebar-widgets .block {
	background: #fff;
	border-radius: 18px;
	padding: 1.25rem;
	margin-bottom: 1rem;
	box-shadow: 0 10px 30px rgba(0,0,0,.06);
}
.cjp-layout-grid{
	display:grid;
	grid-template-columns: 320px minmax(0, 1fr);
	gap: 1.5rem;
	align-items:start;
}

.cjp-sidebar{
	display:flex;
	flex-direction:column;
	gap: 1.5rem;
}

.cjp-main-column{
	min-width:0;
	width:100%;
}

.cjp-main-column > *{
	width:100%;
}

@media (max-width: 900px){
	.cjp-layout-grid{
		grid-template-columns: 1fr;
	}
}
.page-login main#main-content{
	padding-block: 2rem 4rem;
}

.login-shell{
	padding-top: 1rem;
	padding-bottom: 3rem;
}

.login-wrapper{
	display: grid;
	grid-template-columns: minmax(280px, 420px) minmax(340px, 560px);
	gap: 2rem;
	align-items: start;
	justify-content: center;
}

.login-intro,
.login-box{
	background: #fff;
	border: 1px solid rgba(30, 24, 16, 0.08);
	border-radius: 24px;
	box-shadow: 0 12px 32px rgba(30, 24, 16, 0.06);
	padding: 2rem;
}

.login-intro h1{
	margin: .5rem 0 1rem;
}

.login-intro p{
	margin: 0;
	line-height: 1.75;
	color: #625d56;
}

.login-box .page.page_login{
	margin: 0;
}

.login-box .cmp_breadcrumbs,
.login-box .page.page_login > h1{
	display: none;
}

.login-box .cmp_form.login{
	margin: 0;
}

.login-box .cmp_form.login .fields{
	border: 0;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 1rem;
}

.login-box .cmp_form.login .username,
.login-box .cmp_form.login .password,
.login-box .cmp_form.login .remember,
.login-box .cmp_form.login .buttons{
	margin: 0;
}

.login-box .cmp_form.login label{
	display: block;
}

.login-box .cmp_form.login .label{
	display: inline-block;
	font-size: .95rem;
	font-weight: 600;
	color: #2b2621;
	margin-bottom: .45rem;
}

.login-box .cmp_form.login input[type="text"],
.login-box .cmp_form.login input[type="password"],
.login-box .cmp_form.login input[type="email"]{
	display: block;
	width: 100%;
	height: 52px;
	padding: 0 1rem;
	border: 1px solid rgba(30, 24, 16, 0.14);
	border-radius: 14px;
	background: #fcfbf8;
	box-sizing: border-box;
	outline: none;
	transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.login-box .cmp_form.login input[type="text"]:focus,
.login-box .cmp_form.login input[type="password"]:focus,
.login-box .cmp_form.login input[type="email"]:focus{
	border-color: #7E8210;
	box-shadow: 0 0 0 4px rgba(126,130,16,.14);
	background: #fff;
}

.login-box .cmp_form.login .password a{
	display: inline-block;
	margin-top: .65rem;
	font-size: .92rem;
	color: #2f6fad;
	text-decoration: none;
}

.login-box .cmp_form.login .password a:hover{
	text-decoration: underline;
}

.login-box .cmp_form.login .remember label{
	display: flex;
	align-items: center;
	gap: .6rem;
	font-size: .95rem;
	color: #534d46;
}

.login-box .cmp_form.login input[type="checkbox"]{
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #7E8210;
}

.login-box .cmp_form.login .buttons{
	padding-top: .25rem;
}

.login-box .cmp_form.login .buttons .submit,
.login-box .cmp_form.login .buttons button,
.login-box .cmp_form.login button.submit{
	appearance: none;
	border: 0;
	background: #7E8210;
	color: #fff;
	border-radius: 999px;
	padding: .95rem 1.5rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
	transition: transform .15s ease, background .2s ease, opacity .2s ease;
}

.login-box .cmp_form.login .buttons .submit:hover,
.login-box .cmp_form.login .buttons button:hover,
.login-box .cmp_form.login button.submit:hover{
	background: #6f730d;
	transform: translateY(-1px);
}

@media (max-width: 920px){
	.login-wrapper{
		grid-template-columns: 1fr;
	}

	.login-intro,
	.login-box{
		padding: 1.5rem;
	}
}
.search-panel{
	padding: 1.5rem;
}

.journal-search-form{
	display: grid;
	gap: 1rem;
}

.search-label{
	display: inline-block;
	margin-bottom: .5rem;
	font-weight: 600;
}

.journal-search-form input[type="text"]{
	width: 100%;
	height: 54px;
	padding: 0 1rem;
	border: 1px solid rgba(24,24,27,.12);
	border-radius: 14px;
	background: #fcfbf8;
}

.search-actions{
	display: flex;
	justify-content: flex-start;
}