/* Pewter, walnut and navy. Shared tokens also cover existing Elementor content. */
:root{--bg:#cbc9c5;--panel:#f0eeea;--ink:#172c43;--muted:#3e4145;--line:#a6a39e;--accent:#76391f}
body{color-scheme:light;background-color:var(--bg);background-image:radial-gradient(rgba(32,29,25,.045) .65px,transparent .65px);background-size:4px 4px}
.name span{color:#681f2b}
.portrait img{border-color:#f0eeea;box-shadow:0 10px 28px #33271f24}
.experience{background:#493025;color:#f0eeea;border-left:4px solid #9b4b20;border-radius:2px}
.experience p{color:#e8ded6}.experience .small,.experience a{color:#f2c19c}
.experience h3{color:#f0eeea}
.story:has(.interests){grid-template-columns:200px minmax(0,1fr);gap:35px}
.interests{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:27px}
.interest{border-top:0;border-left:1px solid var(--line);padding:0 13px;text-align:center;min-width:0}
.interest:first-child{border-left:0;padding-left:0}.interest:last-child{padding-right:0}
.interest::before{content:"";display:block;width:42px;height:42px;margin:0 auto 17px;background:#76391f;mask:var(--jm-focus-icon) center/contain no-repeat;-webkit-mask:var(--jm-focus-icon) center/contain no-repeat}
.interest:nth-child(1){--jm-focus-icon:url('icons/focus-target.svg')}
.interest:nth-child(2){--jm-focus-icon:url('icons/focus-lightbulb.svg')}
.interest:nth-child(3){--jm-focus-icon:url('icons/focus-shield.svg')}
.interest:nth-child(4){--jm-focus-icon:url('icons/focus-cloud.svg')}
.interest h3{font-size:16px;line-height:1.45;letter-spacing:-.2px;min-height:47px}
.interest p{font-size:13px;line-height:1.7;margin-top:12px}
#writing{background:#172c43;--ink:#f0eeea;--muted:#dfdfdf;--accent:#efbd97;--line:#647386;border:0;border-top:4px solid #681f2b;border-radius:2px;padding:38px 32px}
#writing .filters{flex-wrap:wrap}#writing .filters button{color:var(--ink);border-color:#8c99a7}
#writing .filters button.active{background:#f0eeea;color:#172c43;border-color:#f0eeea}
#writing a:hover{color:#efbd97}#writing .essay h3{color:var(--ink)}
#writing{color:var(--ink)}#writing .writing-head h2{color:var(--ink)}
.closing .links a:first-child{color:#681f2b}
.jm-footer .jm-social-link{border-color:#817b73;color:#172c43}
.jm-footer .jm-social-link:hover{background:#172c43;border-color:#172c43;color:#f0eeea}
.filters button.active{background:#172c43;color:#f0eeea;border-color:#172c43}
input,textarea,select{color:var(--ink);background:#f0eeea;border:1px solid #827c74;border-radius:3px;padding:10px;max-width:100%;font:inherit}
input[type=submit],button[type=submit]{background:#172c43;border-color:#172c43;color:#f0eeea}
.comment-list{color:var(--muted)}.comment-list a{color:var(--accent)}
@media(max-width:900px){.story:has(.interests){grid-template-columns:1fr;gap:8px}.interests{margin-top:25px}.interest{padding:0 20px}}
@media(max-width:650px){.interests{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}.interest{padding:0 16px}.interest:nth-child(odd){border-left:0;padding-left:0}.interest:nth-child(even){padding-right:0}.interest h3{min-height:0}.interest p{margin-top:9px}}
@media(max-width:360px){.interests{grid-template-columns:1fr;row-gap:26px}.interest{border-left:0;padding:0!important}.interest p{max-width:270px;margin:9px auto 0}}
@media(max-width:760px){#writing{padding:30px 22px}}
@media(max-width:520px){#writing{padding:28px 18px;margin-left:-8px;margin-right:-8px}}
@media print{body{background:#fff;color:#111}.interest::before{display:none}}

/* Native quote blocks, Elementor quotes and the original blue paragraph callouts. */
.post-body :is(blockquote,.wp-block-quote,.wp-block-pullquote,.elementor-widget-blockquote,.has-cyan-bluish-gray-background-color.has-background){
 background:#172c43!important;color:#f0eeea!important;
 border:0;border-left:4px solid #681f2b;padding:1.25em 1.5em;
}
.post-body :is(blockquote,.wp-block-quote,.wp-block-pullquote,.elementor-widget-blockquote,.has-cyan-bluish-gray-background-color.has-background) :is(p,div,span,h1,h2,h3,h4,h5,h6,b,strong,em,cite){color:#f0eeea!important}
.post-body :is(blockquote,.wp-block-quote,.wp-block-pullquote,.elementor-widget-blockquote,.has-cyan-bluish-gray-background-color.has-background) a,
.post-body :is(blockquote,.wp-block-quote,.wp-block-pullquote,.elementor-widget-blockquote,.has-cyan-bluish-gray-background-color.has-background) a :is(span,b,strong){color:#efbd97!important}
/* A pullquote wrapper owns the border and spacing, rather than doubling them. */
.post-body .wp-block-pullquote blockquote{border:0;padding:0;margin:0}
@media(max-width:520px){.post-body :is(blockquote,.wp-block-quote,.wp-block-pullquote,.elementor-widget-blockquote,.has-cyan-bluish-gray-background-color.has-background){padding:1em}}
@media print{
 .post-body :is(blockquote,.wp-block-quote,.wp-block-pullquote,.elementor-widget-blockquote,.has-cyan-bluish-gray-background-color.has-background){background:#fff!important;color:#111!important;border-left-color:#555}
 .post-body :is(blockquote,.wp-block-quote,.wp-block-pullquote,.elementor-widget-blockquote,.has-cyan-bluish-gray-background-color.has-background) *{color:#111!important}
}

/* Extend only the writing background and top accent beyond the content column.
   Clipped shadows paint to the viewport edges without creating horizontal scroll. */
#writing{position:relative;isolation:isolate;border-top:0;border-radius:0}
#writing::before,#writing::after{content:"";position:absolute;pointer-events:none;clip-path:inset(0 -100vmax)}
#writing::before{inset:0;z-index:-1;background:#172c43;box-shadow:0 0 0 100vmax #172c43}
#writing::after{top:0;left:0;right:0;height:4px;background:#681f2b;box-shadow:0 0 0 100vmax #681f2b}
@media print{#writing::before,#writing::after{display:none}}

/* Compact focus section: retain the label, heading, four icons and titles. */
.story:has(.interests)>div:has(>.interests)>p,
.story:has(.interests) .interest p{display:none}
.story:has(.interests){align-items:center}
.story:has(.interests) .interests{margin-top:0}
