/* Extra Miles journal: Travel Inspirations listing + article pages.
   Scoped under .jr so it cannot leak into the rest of the site. */
.jr{
  --jr-forest:#325629; --jr-deep:#1d3a17; --jr-leaf:#96af20; --jr-ochre:#b9791f;
  --jr-ink:#16211a; --jr-body:#26332b; --jr-muted:#5d6b62; --jr-line:#e3e9e1; --jr-tint:#f4faef; --jr-paper:#fff;
  --jr-display:"Fraunces",Georgia,"Times New Roman",serif;
  --jr-read:"Source Serif 4",Georgia,"Times New Roman",serif;
  --jr-ui:Inter,ui-sans-serif,system-ui,sans-serif;
  color:var(--jr-ink); background:var(--jr-paper);
}
.jr *,.jr *::before,.jr *::after{box-sizing:border-box}
.jr img{max-width:100%;display:block}
.jr a{color:inherit;text-decoration:none}
.jr-wrap{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.jr-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.jr :focus-visible{outline:3px solid var(--jr-leaf);outline-offset:3px;border-radius:4px}

/* ---------- Masthead ---------- */
.jr-masthead{position:relative;color:#fff;padding:64px 0 112px;background:
  linear-gradient(100deg,rgba(18,38,14,.94) 0%,rgba(29,58,23,.82) 48%,rgba(29,58,23,.45) 100%),var(--jr-hero) center/cover}
.jr-masthead .jr-wrap{position:relative}
.jr .jr-masthead h1{font-family:var(--jr-display)!important;font-weight:600!important;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.04;letter-spacing:-.02em;max-width:17ch;margin:6px 0 18px;color:#fff}
.jr-lede{font-family:var(--jr-read)!important;font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.6;max-width:56ch;color:rgba(255,255,255,.88);margin:0}
.jr-eyebrow{font-family:var(--jr-ui)!important;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--jr-leaf);margin:26px 0 0;display:flex;align-items:center;gap:12px}
.jr-eyebrow::before{content:"";width:34px;height:2px;background:var(--jr-ochre)}
.jr-crumbs{font-family:var(--jr-ui)!important;font-size:.84rem;display:flex;gap:10px;align-items:center;color:rgba(255,255,255,.75)}
.jr-crumbs a:hover{color:#fff;text-decoration:underline}
.jr-crumbs span{font-family:var(--jr-ui)!important}
.jr-crumbs--dark{color:var(--jr-muted);margin-bottom:22px}
.jr-crumbs--dark a:hover{color:var(--jr-forest)}

/* ---------- Search ---------- */
.jr-search{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--jr-line);border-radius:14px;padding:10px 10px 10px 18px;box-shadow:0 18px 44px rgba(22,33,26,.14);color:var(--jr-muted)}
.jr-search:focus-within{border-color:var(--jr-forest);box-shadow:0 18px 44px rgba(22,33,26,.14),0 0 0 3px rgba(150,175,32,.35)}
.jr-search svg{flex:none}
.jr .jr-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:500 1rem/1.4 var(--jr-ui)!important;color:var(--jr-ink);padding:10px 0}
.jr .jr-search input::placeholder{color:#8a968f}
.jr .jr-search input::-webkit-search-cancel-button{cursor:pointer}
.jr .jr-search button{flex:none;border:0;cursor:pointer;background:var(--jr-forest);color:#fff;font:600 .95rem/1 var(--jr-ui)!important;padding:14px 24px;border-radius:10px;transition:background .18s}
.jr .jr-search button:hover{background:var(--jr-deep)}
.jr-search__count{flex:none;font:500 .82rem/1 var(--jr-ui)!important;color:var(--jr-muted);padding:0 10px 0 6px;border-left:1px solid var(--jr-line);margin-left:2px;padding-left:16px}
.jr>.jr-wrap>.jr-search{position:relative;margin-top:-34px;z-index:2}
.jr-search--compact{box-shadow:none;border-radius:10px;padding:5px 5px 5px 14px;max-width:360px;width:100%}
.jr .jr-search--compact input{padding:8px 0;font-size:.92rem}
.jr .jr-search--compact button{padding:10px 16px;font-size:.88rem}

/* ---------- Listing layout ---------- */
.jr-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;padding:52px 0 88px;align-items:start}
.jr-results{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--jr-line);padding-bottom:14px;margin-bottom:28px;font:400 .98rem/1.4 var(--jr-ui)!important}
.jr-results p,.jr-results strong{font-family:var(--jr-ui)!important}
.jr-results a{color:var(--jr-forest);font-weight:600;text-decoration:underline;text-underline-offset:3px}

.jr-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 12px;font:500 .8rem/1.3 var(--jr-ui)!important;color:var(--jr-muted)}
.jr-meta *{font-family:var(--jr-ui)!important}
.jr-meta>*+*:not(.jr-chip)::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.55;margin-right:14px;vertical-align:middle}
.jr-chip{display:inline-flex;align-items:center;gap:7px;color:var(--jr-forest);font-weight:700!important;letter-spacing:.07em;text-transform:uppercase;font-size:.72rem}
.jr-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--jr-ochre)}

.jr-lead{display:block;margin-bottom:44px;padding-bottom:44px;border-bottom:1px solid var(--jr-line)}
.jr-lead__img{display:block;overflow:hidden;border-radius:16px;aspect-ratio:16/8.2;background:var(--jr-tint)}
.jr-lead__img img,.jr-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.jr-lead:hover .jr-lead__img img,.jr-card:hover .jr-card__img img{transform:scale(1.035)}
.jr-lead__body{padding-top:24px}
.jr .jr-lead h2{font-family:var(--jr-display)!important;font-weight:600!important;font-size:clamp(1.55rem,2.6vw,2.2rem);line-height:1.14;letter-spacing:-.015em;margin:0 0 14px}
.jr-lead h2 a,.jr-card h3 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .3s}
.jr-lead h2 a:hover,.jr-card h3 a:hover{background-size:100% 2px;color:var(--jr-forest)}
.jr .jr-excerpt{font-family:var(--jr-read)!important;font-size:1.06rem;line-height:1.65;color:var(--jr-body);margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.jr-more{font:600 .92rem/1 var(--jr-ui)!important;color:var(--jr-forest);display:inline-flex;gap:8px;align-items:center}
.jr-more span{font-family:var(--jr-ui)!important;transition:transform .2s}
.jr-more:hover span{transform:translateX(5px)}

.jr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
.jr-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.jr-card{display:flex;flex-direction:column;min-width:0}
.jr-card__img{display:block;overflow:hidden;border-radius:12px;aspect-ratio:16/10;background:var(--jr-tint);margin-bottom:18px}
.jr-card__body{display:flex;flex-direction:column;flex:1}
.jr .jr-card h3{font-family:var(--jr-display)!important;font-weight:600!important;font-size:1.28rem;line-height:1.22;letter-spacing:-.01em;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.jr-card .jr-excerpt{font-size:.98rem;-webkit-line-clamp:3}
.jr-card .jr-more{margin-top:auto;padding-top:4px}

.jr-empty{grid-column:1/-1;text-align:center;padding:72px 24px;background:var(--jr-tint);border-radius:16px}
.jr .jr-empty h3{font-family:var(--jr-display)!important;font-weight:600!important;font-size:1.5rem;margin:0 0 10px}
.jr-empty p{font-family:var(--jr-read)!important;color:var(--jr-body);margin:0 0 22px}

.jr-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--jr-forest);color:#fff!important;font:600 .95rem/1 var(--jr-ui)!important;padding:15px 24px;border-radius:10px;transition:background .18s,transform .18s}
.jr-btn:hover{background:var(--jr-deep);transform:translateY(-1px)}
.jr-btn--light{background:#fff;color:var(--jr-forest)!important}
.jr-btn--light:hover{background:var(--jr-tint)}

.jr-pager{margin-top:56px;display:flex;justify-content:center}
.jr-pager nav>div:first-child{display:none}
.jr-pager .pagination{gap:6px;margin:0;flex-wrap:wrap;justify-content:center}
.jr-pager .page-link{font:600 .9rem/1 var(--jr-ui)!important;border:1px solid var(--jr-line);border-radius:8px!important;color:var(--jr-ink);padding:12px 16px}
.jr-pager .page-item.active .page-link{background:var(--jr-forest);border-color:var(--jr-forest);color:#fff}
.jr-pager .page-link:hover{background:var(--jr-tint);color:var(--jr-forest)}

/* ---------- Sidebar ---------- */
.jr-side{position:sticky;top:104px;display:grid;gap:24px}
.jr-widget{border:1px solid var(--jr-line);border-radius:16px;padding:24px;background:#fff}
.jr .jr-widget__title{font:700 .74rem/1 var(--jr-ui)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--jr-muted);margin:0 0 18px;display:flex;align-items:center;gap:10px}
.jr-widget__title::before{content:"";width:18px;height:2px;background:var(--jr-ochre)}
.jr-recent{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.jr-recent a{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center}
.jr-recent img{width:72px;height:72px;border-radius:10px;object-fit:cover}
.jr-recent strong{display:block;font:600 .95rem/1.3 var(--jr-ui)!important;margin-bottom:5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.jr-recent a:hover strong{color:var(--jr-forest)}
.jr-recent time{font:500 .78rem/1 var(--jr-ui)!important;color:var(--jr-muted)}
.jr-widget--cta{background:var(--jr-forest);border-color:var(--jr-forest);color:#fff}
.jr-widget--cta .jr-widget__title{color:rgba(255,255,255,.7)}
.jr-widget--cta p{font-family:var(--jr-read)!important;font-size:1.02rem;line-height:1.6;color:rgba(255,255,255,.9);margin:0 0 20px}
.jr-widget--cta .jr-btn{width:100%}
.jr-link-light{display:block;text-align:center;margin-top:16px;font:600 .88rem/1 var(--jr-ui)!important;color:rgba(255,255,255,.85)!important;text-decoration:underline;text-underline-offset:4px}

/* ---------- Article ---------- */
.jr-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:1200;background:transparent;pointer-events:none}
.jr-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--jr-forest),var(--jr-leaf));transform-origin:0 50%;transform:scaleX(0)}
.jr-head{padding:40px 0 34px}
.jr-head .jr-wrap>*{max-width:820px}
.jr .jr-head h1{font-family:var(--jr-display)!important;font-weight:600!important;font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.08;letter-spacing:-.022em;margin:0 0 18px;color:var(--jr-ink)}
.jr-dek{font-family:var(--jr-read)!important;font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.6;color:var(--jr-body);margin:0 0 26px}
.jr-byline{display:flex;gap:14px;align-items:center}
.jr-avatar{flex:none;width:46px;height:46px;border-radius:50%;background:var(--jr-forest);color:#fff;display:grid;place-items:center;font:700 .9rem/1 var(--jr-ui)!important;letter-spacing:.03em}
.jr-byline strong{display:block;font:600 .95rem/1.3 var(--jr-ui)!important}
.jr-byline small{display:block;font:400 .82rem/1.4 var(--jr-ui)!important;color:var(--jr-muted)}
.jr-cover{margin:0 0 56px;border-radius:18px;overflow:hidden;aspect-ratio:21/9;background:var(--jr-tint)}
.jr-cover img{width:100%;height:100%;object-fit:cover}

.jr-reader{display:grid;grid-template-columns:250px minmax(0,720px);gap:72px;justify-content:center;align-items:start;padding-bottom:72px}
.jr-reader--solo{grid-template-columns:minmax(0,720px)}
.jr-rail{position:sticky;top:104px;font-family:var(--jr-ui)!important}
.jr-toc summary{font:700 .74rem/1 var(--jr-ui)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--jr-muted);cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:0 0 14px}
.jr-toc summary::-webkit-details-marker{display:none}
.jr-toc summary::before{content:"";width:18px;height:2px;background:var(--jr-ochre)}
.jr-toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--jr-line);max-height:calc(100vh - 290px);overflow:auto;scrollbar-width:thin;scrollbar-color:var(--jr-line) transparent}
.jr-toc ol::-webkit-scrollbar{width:4px}
.jr-toc ol::-webkit-scrollbar-thumb{background:var(--jr-line);border-radius:4px}
.jr-toc li{margin:0}
.jr-toc a{display:block;padding:8px 0 8px 16px;margin-left:-2px;border-left:2px solid transparent;font:500 .88rem/1.35 var(--jr-ui)!important;color:var(--jr-muted);transition:color .15s,border-color .15s}
.jr-toc a:hover{color:var(--jr-forest)}
.jr-toc a[aria-current="true"]{color:var(--jr-forest);border-left-color:var(--jr-ochre);font-weight:600!important}
.jr-share{margin-top:26px;padding-top:22px;border-top:1px solid var(--jr-line);display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.jr-share span{font:700 .74rem/1 var(--jr-ui)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--jr-muted);width:100%}
.jr-share a,.jr-share button{font:600 .86rem/1 var(--jr-ui)!important;color:var(--jr-forest);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.jr-share a:hover,.jr-share button:hover{color:var(--jr-deep)}

.jr-prose{font-family:var(--jr-read)!important;font-size:1.2rem;line-height:1.78;color:var(--jr-body);min-width:0;overflow-wrap:break-word}
.jr-prose p,.jr-prose li,.jr-prose blockquote,.jr-prose td,.jr-prose th,.jr-prose span,.jr-prose strong,.jr-prose em,.jr-prose a{font-family:var(--jr-read)!important}
.jr-prose>p:first-of-type{font-size:1.3rem;line-height:1.7;color:var(--jr-ink)}
.jr-prose p{margin:0 0 1.4em}
.jr-prose strong{font-weight:600;color:var(--jr-ink)}
.jr .jr-prose h2{font-family:var(--jr-display)!important;font-weight:600!important;font-size:clamp(1.55rem,2.6vw,2.05rem);line-height:1.15;letter-spacing:-.015em;color:var(--jr-ink);margin:2.3em 0 .7em;padding-top:1.1em;border-top:1px solid var(--jr-line);scroll-margin-top:96px}
.jr .jr-prose h3{font-family:var(--jr-ui)!important;font-weight:700!important;font-size:1.08rem;line-height:1.35;letter-spacing:.005em;color:var(--jr-forest);margin:1.9em 0 .55em;scroll-margin-top:96px}
.jr-prose a:not(.jr-btn){color:var(--jr-forest);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:rgba(50,86,41,.4)}
.jr-prose a:not(.jr-btn):hover{text-decoration-color:var(--jr-forest)}
.jr-prose ul,.jr-prose ol{margin:0 0 1.5em;padding-left:0;list-style:none}
.jr-prose li{position:relative;padding-left:1.7em;margin:0 0 .65em}
.jr-prose ul>li::before{content:"";position:absolute;left:.15em;top:.78em;width:8px;height:8px;border-radius:50%;background:var(--jr-ochre)}
.jr-prose ol{counter-reset:jr}
.jr-prose ol>li{counter-increment:jr}
.jr-prose ol>li::before{content:counter(jr);position:absolute;left:0;top:.2em;width:1.5em;height:1.5em;border-radius:50%;background:var(--jr-tint);color:var(--jr-forest);font:700 .78rem/1.5em var(--jr-ui)!important;text-align:center}
.jr-prose blockquote{margin:2em 0;padding:.4em 0 .4em 1.5em;border-left:3px solid var(--jr-ochre);font-style:italic;font-size:1.28rem;line-height:1.6;color:var(--jr-ink)}
.jr-prose blockquote p:last-child{margin-bottom:0}
.jr-prose img{width:100%;height:auto;border-radius:14px;margin:2em 0}
.jr-prose p>img:only-child{margin:.4em 0 1.6em}
.jr-prose iframe{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:14px;margin:2em 0;background:#0e1a12}
.jr-prose table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;margin:2em 0;font-size:.98rem}
.jr-prose th,.jr-prose td{padding:12px 14px;border-bottom:1px solid var(--jr-line);text-align:left;font-family:var(--jr-ui)!important;line-height:1.45}
.jr-prose th{background:var(--jr-tint);color:var(--jr-forest);font-weight:700}
.jr-prose hr{border:0;border-top:1px solid var(--jr-line);margin:2.4em 0}

.jr-callout{margin:3em 0 2.4em;padding:30px 32px;border-radius:18px;background:var(--jr-forest);color:#fff;display:flex;gap:28px;align-items:center;justify-content:space-between}
.jr .jr-callout h2{font-family:var(--jr-display)!important;font-weight:600!important;font-size:1.5rem;line-height:1.2;margin:0 0 8px;padding:0;border:0;color:#fff}
.jr-callout p{font-family:var(--jr-read)!important;font-size:1.02rem;line-height:1.55;color:rgba(255,255,255,.88);margin:0}
.jr-callout .jr-btn{flex:none}
.jr-pn{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.jr-pn a{display:block;border:1px solid var(--jr-line);border-radius:14px;padding:18px 20px;transition:border-color .18s,background .18s}
.jr-pn a:hover{border-color:var(--jr-forest);background:var(--jr-tint)}
.jr-pn small{display:block;font:700 .72rem/1 var(--jr-ui)!important;letter-spacing:.12em;text-transform:uppercase;color:var(--jr-muted);margin-bottom:8px}
.jr-pn span{font:600 .95rem/1.35 var(--jr-ui)!important;color:var(--jr-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jr-pn__next{text-align:right;grid-column:2}

.jr-more-reading{background:var(--jr-tint);padding:68px 0 76px}
.jr-more-reading__head{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.jr .jr-more-reading h2{font-family:var(--jr-display)!important;font-weight:600!important;font-size:clamp(1.6rem,2.8vw,2.2rem);margin:0}
.jr-all{margin:36px 0 0;text-align:center}
.jr-all a{font:600 .95rem/1 var(--jr-ui)!important;color:var(--jr-forest);text-decoration:underline;text-underline-offset:4px}

/* ---------- Responsive ---------- */
@media (max-width:1023px){
  .jr-layout{grid-template-columns:minmax(0,1fr);gap:48px}
  .jr-side{position:static;grid-template-columns:1fr 1fr;align-items:start}
  .jr-reader,.jr-reader--solo{grid-template-columns:minmax(0,720px);gap:32px}
  .jr-rail{position:static}
  .jr-toc{border:1px solid var(--jr-line);border-radius:14px;padding:16px 18px;background:var(--jr-tint)}
  .jr-toc summary{padding:0}
  .jr-toc[open] summary{padding-bottom:12px}
  .jr-toc ol{max-height:none;border-left:0}
  .jr-toc a{border-left:0;padding:7px 0;margin:0}
  .jr-toc a[aria-current="true"]{color:var(--jr-forest)}
  .jr-share{border-top:0;margin-top:14px;padding-top:0}
  .jr-grid--three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jr-cover{aspect-ratio:16/9}
}
@media (max-width:720px){
  .jr-wrap{width:min(100% - 32px,1180px)}
  .jr-masthead{padding:40px 0 96px}
  .jr-search{flex-wrap:wrap;padding:12px 12px 12px 16px}
  .jr-search__count{display:none}
  .jr .jr-search input{flex:1 1 calc(100% - 40px)}
  .jr .jr-search button{flex:1 1 100%}
  .jr-grid,.jr-grid--three,.jr-side{grid-template-columns:minmax(0,1fr)}
  .jr-prose{font-size:1.1rem}
  .jr-prose>p:first-of-type{font-size:1.18rem}
  .jr-callout{flex-direction:column;align-items:flex-start;padding:26px 22px}
  .jr-callout .jr-btn{width:100%}
  .jr-pn{grid-template-columns:1fr}
  .jr-pn__next{grid-column:auto}
  .jr-cover{border-radius:12px;margin-bottom:36px}
  .jr-more-reading{padding:48px 0 56px}
  .jr-search--compact{max-width:none}
}
@media (prefers-reduced-motion:reduce){
  .jr *{transition:none!important;animation:none!important}
  .jr-lead:hover .jr-lead__img img,.jr-card:hover .jr-card__img img{transform:none}
  html{scroll-behavior:auto}
}
