.mapi-journal { --mj-ink:#153c35; --mj-mint:#c4f57b; background:#f6f8f5; color:var(--mj-ink); font-family:Nunito,sans-serif; padding-bottom:76px; }
.mapi-journal * { box-sizing:border-box; }
.mapi-journal .md-category-icon,
.mapi-journal .ms-topic-list>a>span:first-child {
  width:30px;
  height:30px;
  border:1px solid #d8e6cf;
  border-radius:10px;
  background:#e7f1df;
  color:#005b34;
  box-shadow:0 2px 5px #005b3408;
}
.mapi-journal .mapi-category-svg { display:block; flex-shrink:0; stroke-width:1.8; }
.mapi-journal span:has(>svg.mapi-category-svg.mapi-category-svg--all),
.mapi-journal span:has(>svg.mapi-category-svg.mapi-category-svg--machu),
.mapi-journal span:has(>svg.mapi-category-svg.mapi-category-svg--amazonia) {
  background:#005b34;
  border-color:#005b34;
  color:#FBC52A;
}
.mapi-journal span:has(>svg.mapi-category-svg.mapi-category-svg--cusco),
.mapi-journal span:has(>svg.mapi-category-svg.mapi-category-svg--tren) {
  background:#FBC52A;
  border-color:#edb71e;
  color:#253217;
}
.mapi-journal span:has(>svg.mapi-category-svg.mapi-category-svg--tips) {
  background:#fff2bd;
  border-color:#f0d77c;
  color:#856000;
}
.mapi-journal span:has(>svg.mapi-category-svg.mapi-category-svg--trek) {
  background:#253217;
  border-color:#253217;
  color:#FBC52A;
}
.mapi-journal .md-categories>a.is-active,
.mapi-journal .ms-topic-list>a.is-active {
  background:#fff4cf;
  color:#005b34;
  box-shadow:inset 3px 0 #FBC52A;
}
.mj-feature>*,.mj-card,.mj-card__body { min-width:0; }
.mapi-journal a { color:inherit; text-decoration:none; }
.mapi-journal a:focus-visible,.mapi-journal button:focus-visible,.mapi-journal input:focus-visible { outline:3px solid #568c22; outline-offset:5px; }
.mj-shell { width:min(1240px, calc(100% - 64px)); margin-inline:auto; }
.mj-intro { position:relative; overflow:hidden; padding:64px 0 116px; background:radial-gradient(ellipse at 95% 10%,#295647 0,transparent 52%),#102e29; color:#fff; }
.mj-intro::after { content:""; position:absolute; width:430px; height:430px; border:1px solid #ffffff12; border-radius:50%; right:6%; top:-240px; box-shadow:0 0 0 55px #ffffff04,0 0 0 110px #ffffff03; pointer-events:none; }
.mj-intro__inner { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; position:relative; z-index:1; }
.mj-kicker { font-size:10px; line-height:1.5; font-weight:800; letter-spacing:2px; margin:0 0 18px; }
.mj-intro .mj-kicker { display:flex; align-items:center; gap:10px; color:#c4f57b; }
.mj-kicker>span { width:7px; height:7px; background:var(--mj-mint); border-radius:50%; box-shadow:0 0 14px #c4f57660; }
.mj-intro h1 { margin:0; font-family:Montserrat,sans-serif; font-size:clamp(36px,4.7vw,65px); line-height:1.12; font-weight:700; letter-spacing:-2.5px; }
.mj-intro h1 em { color:var(--mj-mint); font-style:normal; }
.mj-intro__description { margin:22px 0 0; font-size:17px; line-height:1.7; color:#c0d3cb; }
.mj-explore { display:flex; align-items:center; gap:22px; font-size:10px; font-weight:800; letter-spacing:1px; white-space:nowrap; padding-bottom:8px; }
.mj-explore>span:last-child { display:grid; place-items:center; width:54px; height:54px; border:1px solid #71887d; border-radius:50%; font-size:27px; }
.mj-content { position:relative; margin-top:-62px; }
.mj-feature { display:grid; grid-template-columns:1.2fr 1fr; overflow:hidden; border:1px solid #e2e9df; border-radius:22px; background:white; box-shadow:0 18px 50px #123e2b0a; }
.mj-feature__image,.mj-card__image { display:block; position:relative; overflow:hidden; background:#dae5da; }
.mj-feature__image { min-height:370px; }
.mj-feature__image img { width:100%; height:100%; position:absolute; object-fit:cover; }
.mj-image-tag { position:absolute; left:24px; top:24px; display:flex; align-items:center; gap:30px; padding:9px 14px; background:var(--mj-mint); color:#183427; border-radius:6px; font-size:10px; font-weight:900; letter-spacing:1px; }
.mj-image-tag span { font-size:17px; }
.mj-feature__body { padding:38px; display:flex; flex-direction:column; justify-content:center; }
.mj-meta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; font-size:11px; color:#65786d; line-height:1.4; }
.mj-meta>span:first-child { color:#35744a; font-weight:800; text-transform:uppercase; letter-spacing:.8px; }
.mj-feature h2 { margin:20px 0 15px; font-family:Montserrat,sans-serif; font-size:clamp(23px,2.3vw,32px); line-height:1.26; font-weight:700; letter-spacing:-.9px; }
.mj-feature__body>p { color:#65756b; font-size:15px; line-height:1.7; margin:0 0 24px; }
.mj-feature__footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:22px; border-top:1px solid #e9ede6; }
.mj-feature time,.mj-card time { font-size:12px; color:#6d7b70; }
.mj-read { display:inline-flex; align-items:center; gap:22px; font-size:13px; font-weight:800; }
.mj-read>span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--mj-mint); font-size:21px; }
.mj-stories { padding-top:64px; scroll-margin-top:100px; }
.mj-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:26px; }
.mj-section-heading .mj-kicker { color:#6c806d; margin-bottom:10px; }
.mj-section-heading h2 { margin:0; font:700 clamp(24px,3vw,36px)/1.2 Montserrat,sans-serif; letter-spacing:-1px; }
.mj-count { font-size:12px; white-space:nowrap; color:#657568; }
.mj-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:26px; border-bottom:1px solid #dfe6dc; margin-bottom:30px; }
.mj-topics { display:flex; flex-wrap:wrap; gap:8px; }
.mj-topic { display:inline-flex; align-items:center; min-height:42px; padding:10px 17px; border:1px solid #dce4d8; border-radius:100px; background:white; font-size:12px; font-weight:700; }
.mj-topic.is-active { background:#153c35; border-color:#153c35; color:#fff; }
.mj-search { display:flex; align-items:center; flex:0 1 310px; min-width:240px; border:1px solid #dce4d8; border-radius:100px; background:white; }
.mj-search input[type=search] { min-width:0; width:100%; padding:12px 0 12px 18px; color:#153c35; font:400 13px Nunito,sans-serif; background:transparent; border:0; border-radius:100px; }
.mj-search button { flex-shrink:0; display:grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:transparent; color:#153c35; cursor:pointer; border-radius:50%; }
.mj-search-status { margin:0 0 24px; font-size:14px; }
.mj-search-status a { text-decoration:underline; margin-left:12px; }
.mj-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.mj-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid #e0e7dc; border-radius:17px; background:#fff; transition:transform .2s,box-shadow .2s; }
.mj-card__image { aspect-ratio:1.65; }
.mj-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.mj-card__arrow { position:absolute; bottom:16px; right:16px; display:grid; place-items:center; width:35px; height:35px; border-radius:50%; background:#ffffffeb; color:#153c35; font-size:23px; }
.mj-card__body { display:flex; flex-direction:column; flex:1; padding:23px; }
.mj-card h3 { margin:16px 0 12px; font:700 20px/1.35 Montserrat,sans-serif; letter-spacing:-.5px; }
.mj-card__body>p { font-size:14px; line-height:1.7; color:#68776c; margin:0 0 22px; }
.mj-card__footer { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-top:18px; margin-top:auto; border-top:1px solid #e8ede4; }
.mj-card__footer a { font-size:12px; font-weight:800; }
.mj-card__footer a span { margin-left:9px; }
.mj-card:hover { transform:translateY(-4px); box-shadow:0 14px 35px #193b2910; }
.mj-card:hover img { transform:scale(1.04); }
.mj-feature h2 a:hover,.mj-card h3 a:hover { color:#35744a; }
.mj-empty { text-align:center; padding:60px 24px; border:1px dashed #bacdb7; border-radius:18px; }
.mj-empty h3 { font:700 25px/1.3 Montserrat,sans-serif; margin:0 0 12px; }
.mj-empty p { margin:0 0 24px; color:#68776c; }
.mj-cta { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-top:64px; padding:38px 42px; border-radius:20px; background:#e4eddc; border:1px solid #d4e1c8; }
.mj-cta .mj-kicker { color:#547247; margin-bottom:10px; }
.mj-cta h2 { margin:0 0 10px; font:700 clamp(25px,3vw,34px)/1.2 Montserrat,sans-serif; letter-spacing:-1px; }
.mj-cta p:last-child { margin:0; font-size:15px; color:#627259; }
.mj-cta>a { flex-shrink:0; display:flex; align-items:center; gap:36px; padding:15px 22px; border-radius:100px; background:#153c35; color:#fff; font-size:14px; font-weight:700; }
.mj-cta>a span { color:var(--mj-mint); font-size:23px; }
.mapi-journal .pagination { margin:40px 0 0; }
.mapi-journal .nav-links { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.mapi-journal .page-numbers { display:grid; place-items:center; min-width:42px; padding:10px 14px; border:1px solid #dce4d8; border-radius:8px; font-size:13px; }
.mapi-journal .page-numbers.current { background:#153c35; color:#fff; }
@media(max-width:1000px) { .mj-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .mj-feature__body { padding:26px; } .mj-feature__image { min-height:350px; } .mj-explore { display:none; } }
@media(max-width:760px) { .mj-shell { width:calc(100% - 36px); } .mj-intro { padding:42px 0 95px; } .mj-intro h1 { letter-spacing:-1.5px; } .mj-intro__description { font-size:15px; } .mj-feature { grid-template-columns:minmax(0,1fr); } .mj-feature__image { min-height:0; aspect-ratio:1.65; } .mj-feature h2 { font-size:27px; } .mj-stories { padding-top:42px; } .mj-toolbar { align-items:stretch; flex-direction:column; gap:16px; } .mj-search { flex:auto; width:100%; } .mj-cta { align-items:flex-start; flex-direction:column; padding:30px; } }
@media(max-width:520px) { .mj-grid { grid-template-columns:minmax(0,1fr); gap:22px; } .mj-section-heading { align-items:flex-start; flex-direction:column; gap:12px; } .mj-feature__body { padding:24px; } .mj-intro h1 { font-size:36px; } .mj-kicker { font-size:9px; letter-spacing:1.5px; } .mj-feature h2 { font-size:24px; } .mj-cta { margin-top:40px; padding:26px; } }
@media(prefers-reduced-motion:reduce) { .mj-card,.mj-card__image img { transition:none; } .mj-card:hover,.mj-card:hover img { transform:none; } }
