/* Northern Mile look for the Ghost blog (Source theme). Linked from Ghost code injection. 2026-10-08. */
:root{--nm-green:#0E5A3B;--nm-green-2:#0A4430;--nm-ink:#1F2421;--nm-ink-2:#3A413D;--nm-muted:#5B635E;--nm-line:#DADFDB;--nm-paper:#F6F7F5;--nm-yellow:#F2B91E;--ghost-accent-color:#0E5A3B}
body{--gh-font-heading:'Overpass',system-ui,sans-serif!important;--gh-font-body:'Source Serif 4',Georgia,serif!important;--font-sans:'Overpass',system-ui,sans-serif!important;--font-serif:'Source Serif 4',Georgia,serif!important;--color-primary-text:#1F2421;--color-secondary-text:#5B635E;--color-border:#DADFDB;background:#F6F7F5;color:#1F2421}
body .is-title,body h1,body h2,body h3,body h4{font-family:'Overpass',system-ui,sans-serif!important;letter-spacing:-.015em}
body .is-body{font-family:'Source Serif 4',Georgia,serif}
.tn,.nm-sign{font-variant-numeric:tabular-nums lining-nums}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #F2B91E;outline-offset:2px}

/* header */
.gh-navigation{background:#FFFFFF!important;border-bottom:1px solid #DADFDB;color:#1F2421!important}
.gh-navigation-logo img{max-height:40px!important}
.nm-word{font-family:'Overpass',sans-serif;font-weight:800;font-size:21px;color:#1F2421;margin-left:12px;letter-spacing:0}
.gh-navigation-logo{display:flex;align-items:center}
.gh-navigation-menu .nav a,.gh-navigation-members a:not(.gh-button){font-family:'Overpass',sans-serif;font-weight:600;font-size:16px;color:#1F2421}
.gh-navigation-menu .nav a:hover{color:#0E5A3B;opacity:1}
.gh-button{background:#0E5A3B!important;color:#FFFFFF!important;border-radius:999px!important;font-family:'Overpass',sans-serif!important;font-weight:700!important;letter-spacing:0!important}
.gh-button:hover{background:#0A4430!important;opacity:1}

/* home hero: headline + live sign, no photo */
.home-template .gh-header{background:#F6F7F5!important;color:#1F2421!important;min-height:0!important;padding:72px clamp(20px,4vw,48px)!important}
.home-template .gh-header-image{display:none!important}
.home-template .gh-header::before,.home-template .gh-header::after{display:none!important}
.home-template .gh-header-inner{display:grid!important;grid-template-columns:minmax(0,7fr) minmax(300px,5fr);gap:56px;align-items:center;text-align:left!important;max-width:1160px}
.home-template .gh-header-left{display:flex;flex-direction:column;align-items:flex-start}
.home-template .gh-header-title{font-weight:700!important;font-size:clamp(38px,5vw,62px)!important;line-height:1.04!important;letter-spacing:-.02em!important;color:#1F2421!important;max-width:13ch;text-align:left!important;margin:0!important}
.nm-dek{font-family:'Source Serif 4',Georgia,serif;font-size:21px;line-height:1.55;color:#3A413D;margin:22px 0 0;max-width:34em}
.home-template .gh-header .gh-form{margin:28px 0 0!important;max-width:520px;width:100%;background:transparent!important;box-shadow:none!important;padding:0!important;display:flex;gap:10px;flex-wrap:wrap}
.home-template .gh-header .gh-form-input{position:static!important;inset:auto!important;width:auto!important;height:52px!important;flex:1 1 240px;min-height:52px;border-radius:999px!important;border:1px solid #C5CCC7!important;background:#FFFFFF!important;padding:0 20px!important;font-family:'Overpass',sans-serif;font-size:16px;color:#1F2421!important}
.home-template .gh-header .gh-form .gh-button{min-height:52px;padding:0 24px!important;position:static!important}
.home-template .gh-header .gh-form p{display:none}
.nm-sign{background:#0E5A3B;color:#FFFFFF;border-radius:18px;box-shadow:inset 0 0 0 7px #0E5A3B,inset 0 0 0 9px rgba(255,255,255,.92);padding:34px 40px 30px;font-family:'Overpass',sans-serif}
.nm-sign h2{font-size:18px!important;font-weight:700;color:#D9EBE1;margin:0 0 6px;letter-spacing:0!important}
.nm-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:13px 0}
.nm-row+.nm-row{border-top:1px solid rgba(255,255,255,.22)}
.nm-row span:first-child{font-weight:700;font-size:22px}
.nm-row span:last-child{font-weight:700;font-size:27px}
.nm-row .nm-hot{font-size:19px!important;background:#F2B91E;color:#1F2421;border-radius:8px;padding:4px 10px}
.nm-sign a{display:inline-block;margin-top:14px;color:#FFFFFF;font-weight:600;font-size:15px;text-decoration:underline;text-underline-offset:4px}
.nm-sign small{display:block;margin-top:2px;font-size:13px;color:#D9EBE1}

/* feed: clean rows, no repeated headline images */
.home-template .gh-container,.archive-template .gh-container,.tag-template .gh-container{background:#FFFFFF;border-top:1px solid #DADFDB}
.gh-container-title{font-family:'Overpass',sans-serif!important;font-weight:700!important;font-size:26px!important;text-transform:none!important;letter-spacing:0!important;color:#1F2421!important;border:0!important}
.home-template .gh-sidebar{display:none!important}
.home-template .gh-container.has-sidebar .gh-container-inner{grid-template-columns:1fr!important}
.gh-feed{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))!important;column-gap:64px!important;row-gap:0!important}
.gh-card{border-top:1px solid #DADFDB;padding:26px 0!important;margin:0!important}
.gh-card .gh-card-image{display:none!important}
.gh-card-link{display:block!important}
.gh-card-title{font-weight:700!important;font-size:24px!important;line-height:1.22!important;color:#1F2421}
.gh-card-link:hover .gh-card-title{color:#0E5A3B;opacity:1}
.gh-card-excerpt{font-family:'Source Serif 4',Georgia,serif!important;font-size:17px!important;line-height:1.5!important;color:#3A413D!important;margin-top:8px!important;-webkit-line-clamp:2}
.gh-card-meta{font-family:'Overpass',sans-serif!important;font-size:14px!important;color:#5B635E!important;margin-top:10px!important;text-transform:none!important;letter-spacing:0!important}
.gh-card-tag{font-family:'Overpass',sans-serif!important;font-weight:700!important;font-size:15px!important;color:#0E5A3B!important;text-transform:none!important;letter-spacing:0!important}
.home-template .gh-feed .gh-card:first-child{grid-column:1/-1;padding:8px 0 34px!important;border-top:0}
.home-template .gh-feed .gh-card:first-child .gh-card-title{font-size:clamp(30px,3.6vw,44px)!important;line-height:1.08!important;letter-spacing:-.015em;max-width:22ch}
.home-template .gh-feed .gh-card:first-child .gh-card-excerpt{font-size:20px!important;max-width:36em;-webkit-line-clamp:3}
.gh-more a{font-family:'Overpass',sans-serif;font-weight:700;color:#0E5A3B;text-transform:none;letter-spacing:0}

/* posts */
.gh-article-tag{font-family:'Overpass',sans-serif!important;font-weight:700!important;font-size:16px!important;color:#0E5A3B!important;text-transform:none!important;letter-spacing:0!important}
.gh-article-title{font-weight:700!important;font-size:clamp(34px,4.6vw,56px)!important;line-height:1.06!important;letter-spacing:-.02em!important;color:#1F2421}
.gh-article-excerpt{font-family:'Source Serif 4',Georgia,serif!important;font-size:clamp(19px,2vw,23px)!important;line-height:1.5!important;color:#3A413D!important}
.gh-article-meta,.gh-article-meta-wrapper,.gh-article-author-name,.gh-article-meta-content{font-family:'Overpass',sans-serif!important;color:#5B635E}
.gh-article-author-name a,.gh-article-author-name{color:#1F2421!important;font-weight:700}
.gh-meta-share{border-top:1px solid #DADFDB;padding-top:20px}
.gh-button-share{background:#FFFFFF!important;color:#1F2421!important;border:1px solid #C5CCC7!important}
.nm-hide-hero{display:none!important}
.gh-content{font-family:'Source Serif 4',Georgia,serif!important;font-size:clamp(18px,1.6vw,21px)!important;line-height:1.7!important;color:#262B28}
.gh-content>p,.gh-content li{line-height:1.7}
.gh-content h2,.gh-content h3{font-family:'Overpass',sans-serif!important;font-weight:700!important;color:#1F2421;letter-spacing:-.01em}
.gh-content h2{font-size:clamp(25px,2.4vw,30px)!important;margin-top:1.8em!important}
.gh-content a{color:#0E5A3B;text-decoration-thickness:1px;text-underline-offset:3px}
.gh-content table{font-family:'Overpass',sans-serif;font-variant-numeric:tabular-nums;font-size:16px}
.gh-content th{background:#F6F7F5;color:#3A413D;font-weight:700}
.gh-content th,.gh-content td{border-color:#E3E7E4!important}
.gh-content blockquote{border-left:3px solid #0E5A3B;font-family:'Source Serif 4',Georgia,serif}

/* footer: dark newsletter band, quiet footer bar */
.gh-footer{background:#FFFFFF!important;color:#1F2421!important;border-top:1px solid #DADFDB}
.gh-footer-signup{background:#1F2421;color:#FFFFFF;border-radius:18px;padding:48px!important;margin-bottom:40px}
.gh-footer-signup-header{font-weight:700!important;font-size:34px!important;color:#FFFFFF!important;letter-spacing:-.01em}
.gh-footer-signup-subhead{font-family:'Source Serif 4',Georgia,serif!important;font-size:19px!important;color:#C9D1CC!important;opacity:1!important}
.gh-footer-signup .gh-form{background:transparent!important;box-shadow:none!important;display:flex;gap:10px;flex-wrap:wrap;max-width:560px;margin-left:auto;margin-right:auto}
.gh-footer-signup .gh-form-input{position:static!important;inset:auto!important;width:auto!important;height:52px!important;flex:1 1 220px;min-height:52px;border-radius:999px!important;border:0!important;background:#FFFFFF!important;padding:0 20px!important;color:#1F2421!important}
.gh-footer-signup .gh-form .gh-button{min-height:52px;position:static!important;background:#FFFFFF!important;color:#1F2421!important}
.gh-footer-bar{font-family:'Overpass',sans-serif;color:#5B635E;border-color:#DADFDB!important}
.gh-footer-bar a{color:#0E5A3B}

@media (max-width:767px){
  .home-template .gh-header{padding:36px 20px 40px!important}
  .home-template .gh-header-inner{grid-template-columns:1fr;gap:28px}
  .nm-dek{font-size:18px}
  .nm-sign{padding:24px 24px 20px}
  .nm-row span:first-child{font-size:18px}
  .nm-row span:last-child{font-size:22px}
  .gh-feed{column-gap:0!important}
  .gh-footer-signup{padding:28px 22px!important}
  .gh-footer-signup-header{font-size:28px!important}
  .nm-word{font-size:19px}
}

/* Signup forms: the theme fixes the form at 56px tall, so a wrapped button spilled out of
   it on phones. Let the form grow, and stack it full width on narrow screens. */
.gh-form{height:auto!important}
.gh-footer-signup .gh-form-input{font-family:'Overpass',sans-serif!important;font-size:16px!important}
.gh-form .gh-button{justify-content:center}
@media (max-width:600px){
  .home-template .gh-header .gh-form,.gh-footer-signup .gh-form{flex-direction:column;align-items:stretch;gap:10px}
  .home-template .gh-header .gh-form-input,.gh-footer-signup .gh-form-input{flex:0 0 auto!important;width:100%!important}
  .home-template .gh-header .gh-form .gh-button,.gh-footer-signup .gh-form .gh-button{width:100%!important}
}

/* ── One content column, so the hero and the feed share a left edge ──
   The theme caps the hero container at 1020px and the feed container at 1320px. Two sibling
   containers at two widths: on a 1264px screen the headline started at x=122 and the article
   cards at x=25, a 97px mismatch running the whole length of the page. Nothing capped the page
   either, so on a 1920px monitor the feed would have stretched to 1870px wide.

   Both are pinned to 1160px here - the width the hero rules above already intended - so the hero
   and the feed finally agree and the gutter scales instead of collapsing. The 48px ceiling
   matches the hero padding set in the .home-template rules above; at 40px the feed sat 3px left
   of the headline, which reads as a mistake rather than a decision. !important because the
   theme's own .gh-header-inner.gh-inner carries the same specificity as ours and is the value we
   are deliberately overriding. */
:root {
  --nm-maxw: 1160px;
  --nm-pad: clamp(20px, 4vw, 48px);
}
section.gh-header,
section.gh-container {
  padding-left: var(--nm-pad) !important;
  padding-right: var(--nm-pad) !important;
}
.gh-header-inner.gh-inner,
.gh-container-inner.gh-inner {
  max-width: var(--nm-maxw) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Feed spacing (2026-10-14). The theme draws its own divider above each card (::before)
   and a column rule (::after); with our border-top that made two lines per post. The
   container also had no top padding (the "Latest" heading sat on its rule) and the theme's
   margins left grey bands above the feed and the footer. */
.gh-feed .gh-card::before,.gh-feed .gh-card::after{content:none!important;display:none!important}
.home-template .gh-container,.archive-template .gh-container,.tag-template .gh-container{margin-top:0!important;padding-top:44px!important;padding-bottom:56px!important}
.home-template .gh-footer,.archive-template .gh-footer,.tag-template .gh-footer{margin-top:0!important}
.gh-container-title{margin-bottom:16px!important;padding-bottom:0!important}
@media (max-width:767px){
  .home-template .gh-container,.archive-template .gh-container,.tag-template .gh-container{padding-top:32px!important;padding-bottom:40px!important}
}
.gh-footer .gh-footer-signup{margin-top:40px!important}
@media (max-width:767px){.gh-footer .gh-footer-signup{margin-top:28px!important}}
