/* == Ian James Miclean — im framework site chrome v3 == */
/* Retire GeneratePress theme chrome */
#masthead, footer.site-info, .entry-header {display:none !important;}
.grid-container {max-width:100% !important; padding:0 !important;}
.site-content, .content-area {padding:0 !important; margin:0 !important;}
.inside-article {padding:0 !important;}
.content-area {width:100% !important; float:none !important;}
#right-sidebar, .sidebar, .widget-area {display:none !important;}
.site-content {display:block !important;}
body {background:#FDFCF8;}

/* Nav */
.im-nav {background:#FDFCF8; border-bottom:1px solid rgba(156,110,60,.45); padding:18px 24px; font-family:'DM Sans',Helvetica,Arial,sans-serif;}
.im-nav__inner {max-width:1080px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px;}
.im-nav__brand {font-family:'Playfair Display',Georgia,serif; font-weight:500; font-size:20px; color:#0B1C3F; text-decoration:none;}
.im-nav__links a {font-size:14px; letter-spacing:.04em; color:#55554E; text-decoration:none; margin-left:24px; position:relative; padding-bottom:3px; transition:color .25s ease;}
.im-nav__links a::after {content:""; position:absolute; left:0; right:100%; bottom:0; border-bottom:1px solid #9C6E3C; transition:right .28s ease;}
.im-nav__links a:hover {color:#0B1C3F;}
.im-nav__links a:hover::after {right:0;}

/* Footer: drafting title block */
.im-footer {background:#0B1C3F; color:#F5F0E8; padding:0; font-family:'DM Sans',Helvetica,Arial,sans-serif; border-top:1px solid rgba(200,155,95,.65); box-shadow:0 -4px 0 rgba(200,155,95,.15);}
.im-footer__grid {max-width:1080px; margin:0 auto; display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr;}
.im-footer__cell {padding:36px 24px; border-left:1px solid rgba(245,240,232,.12);}
.im-footer__cell:first-child {border-left:none; padding-left:24px;}
.im-footer__brand {display:block; font-family:'Playfair Display',Georgia,serif; font-weight:500; font-size:22px; color:#FDFCF8; margin-bottom:10px;}
.im-footer__tag {display:block; font-family:'DM Mono',Menlo,monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#C89B5F;}
.im-footer__label {display:block; font-family:'DM Mono',Menlo,monospace; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#C89B5F; margin-bottom:14px;}
.im-footer__cell a {display:block; color:#F5F0E8; font-size:14px; line-height:2.1; text-decoration:none; border-bottom:none; opacity:.85; transition:opacity .2s ease, color .2s ease;}
.im-footer__cell a:hover {color:#C89B5F; opacity:1;}
.im-footer__text {font-size:14px; line-height:2.1; opacity:.85;}
.im-footer__baseline {border-top:1px solid rgba(245,240,232,.12); font-family:'DM Mono',Menlo,monospace; font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(245,240,232,.5);}
.im-footer__baseline-inner {max-width:1080px; margin:0 auto; padding:14px 24px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;}
@media (max-width:760px) {.im-footer__grid {grid-template-columns:1fr;} .im-footer__cell {border-left:none; border-top:1px solid rgba(245,240,232,.12); padding:24px;} .im-footer__cell:first-child {border-top:none;}}

/* Scroll reveal (JS adds pending; default fully visible) */
.im-reveal--pending {opacity:0; transform:translateY(14px); transition:opacity .6s ease-out, transform .6s ease-out;}
.im-reveal--in {opacity:1 !important; transform:translateY(0) !important;}
@media (prefers-reduced-motion: reduce) {.im-reveal--pending {opacity:1; transform:none;}}

/* Hover polish */
.im-plate {transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;}
.im-plate:hover {border-color:rgba(11,28,63,.6); transform:translateY(-4px); box-shadow:0 12px 28px rgba(11,28,63,.08);}
.im-link {transition:color .2s ease, border-color .2s ease;}

/* Photo frame (drafting plate around a photograph) */
.im-photo-frame {border:1px solid rgba(11,28,63,.28); background:#FDFCF8; padding:10px; position:relative;}
.im-photo-frame::before {content:""; position:absolute; inset:5px; border:1px solid rgba(11,28,63,.10); pointer-events:none;}
.im-photo-frame img {display:block; width:100%; height:auto; filter:saturate(.92);}
.im-photo-frame__caption {font-family:'DM Mono',Menlo,monospace; font-size:11px; letter-spacing:.08em; color:#55554E; text-align:center; padding-top:10px;}
.im-about-grid {display:grid; grid-template-columns:300px 1fr; gap:56px; align-items:center;}
@media (max-width:760px) {.im-about-grid {grid-template-columns:1fr; gap:32px;}}

/* Figure charts (before/after bars) */
.im-chart {margin:8px 0 16px;}
.im-chart__legend {display:flex; gap:24px; font-family:'DM Mono',Menlo,monospace; font-size:12px; color:#55554E; margin-bottom:18px;}
.im-chip {display:inline-block; width:14px; height:10px; border-radius:2px; margin-right:7px;}
.im-chip--after {background:#0B1C3F;}
.im-chip--before {border:1px solid #55554E; background:transparent;}
.im-chart__row {margin-bottom:22px;}
.im-chart__rowlabel {font-family:'DM Mono',Menlo,monospace; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:#55554E; margin-bottom:7px;}
.im-bar {position:relative; height:15px; border-radius:2px; margin-bottom:3px; max-width:100%; transition:opacity .2s ease;}
.im-bar:hover {opacity:.8;}
.im-bar--before {border:1px solid #55554E; background:transparent;}
.im-bar--after {background:#0B1C3F; border:1px solid #0B1C3F;}
.im-bar__val {position:absolute; left:100%; margin-left:10px; top:50%; transform:translateY(-50%); font-family:'DM Mono',Menlo,monospace; font-size:12px; color:#2C2C2A; white-space:nowrap;}

/* == v3.1: mobile nav, centered metrics, about grid == */
.im-nav__toggle {display:none; background:transparent; border:1px solid rgba(11,28,63,.28); border-radius:2px; width:42px; height:38px; padding:0; cursor:pointer;}
.im-nav__toggle span {display:block; width:18px; border-top:1px solid #0B1C3F; margin:4px auto;}
@media (max-width:760px) {
  .im-nav {padding:14px 20px;}
  .im-nav__toggle {display:inline-block;}
  .im-nav__links {display:none; flex-basis:100%; width:100%; margin-top:12px; border-top:1px solid rgba(156,110,60,.45); padding-top:4px;}
  .im-nav--open .im-nav__links {display:block;}
  .im-nav__links a {display:block; margin-left:0; padding:13px 2px; border-bottom:1px solid rgba(85,85,78,.15); font-size:15px;}
  .im-nav__links a::after {display:none;}
}
@media (max-width:640px) {
  .im-metric__value, .im-metric__label {text-align:center;}
}
.im-about-grid--rev {grid-template-columns:1fr 300px;}
@media (max-width:760px) {
  .im-about-grid, .im-about-grid.im-about-grid--rev {grid-template-columns:1fr; gap:32px;}
  .im-about-grid .im-photo-frame {max-width:340px; margin:0 auto;}
}

/* == v3.2: hero figure == */
.im-hero-grid {display:grid; grid-template-columns:1fr 430px; gap:72px; align-items:center;}
.im-hero-fig-wrap {position:relative;}
.im-hero-fig {display:block; width:100%; height:auto;}
@media (max-width:1020px) {.im-hero-grid {grid-template-columns:1fr;} .im-hero-fig-wrap {display:none;}}
@media (prefers-reduced-motion: no-preference) {
  .im-hero-fig .imdraw {stroke-dasharray:700; stroke-dashoffset:700; animation:im-dash 2s ease-out .5s forwards;}
  .im-hero-fig .imdraw--slow {animation-duration:2.8s; animation-delay:.8s;}
}
@keyframes im-dash {to {stroke-dashoffset:0;}}
.im-hero-grid .im-h1 {font-size:45px;}


/* == v3.3: ink accents (subtle navy throughout) == */
::selection {background:#0B1C3F; color:#FDFCF8;}
.im-rule {border-top:none !important; height:1px; background:linear-gradient(90deg, rgba(11,28,63,.55) 0 48px, rgba(156,110,60,.45) 48px) !important;}
.im-titleline::after {border-top:none !important; height:1px; background:linear-gradient(90deg, rgba(11,28,63,.5) 0 26px, rgba(85,85,78,.25) 26px); align-self:center;}
.im-plate::after {content:""; position:absolute; top:-1px; left:-1px; width:16px; height:16px; border-top:1px solid rgba(11,28,63,.6); border-left:1px solid rgba(11,28,63,.6); pointer-events:none; transition:width .25s ease, height .25s ease;}
.im-plate:hover::after {width:26px; height:26px;}
.im-photo-frame::after {content:""; position:absolute; top:-1px; left:-1px; width:16px; height:16px; border-top:1px solid rgba(11,28,63,.6); border-left:1px solid rgba(11,28,63,.6); pointer-events:none;}
.im-metric__label {border-top-color:rgba(11,28,63,.35) !important;}
.im-footer__label {color:#C89B5F;}

/* == v3.4: ink accents heavier == */
.im-eyebrow::before {content:""; display:inline-block; width:7px; height:7px; background:#0B1C3F; margin-right:12px; vertical-align:1px;}
.im-footer .im-eyebrow::before {background:#C89B5F;}
.im-rule {background:linear-gradient(90deg, #0B1C3F 0 96px, rgba(156,110,60,.45) 96px) !important;}
.im-titleline::after {background:linear-gradient(90deg, rgba(11,28,63,.75) 0 56px, rgba(85,85,78,.25) 56px);}
.im-plate::after {width:24px; height:24px; border-top-color:rgba(11,28,63,.85); border-left-color:rgba(11,28,63,.85);}
.im-plate:hover::after {width:34px; height:34px;}
.im-photo-frame::after {width:24px; height:24px; border-top-color:rgba(11,28,63,.85); border-left-color:rgba(11,28,63,.85);}
.im-figure-label {color:#0B1C3F !important;}
.im-photo-frame__caption {color:#0B1C3F;}
.im-metric__label {border-top-color:rgba(11,28,63,.55) !important;}
.im-quote {border-left:2px solid #0B1C3F !important; }