:root{
  --ink:#120f10;
  --ink-2:#1b1516;
  --deep-red:#3a0908;
  --crimson:#8c1d18;
  --sunset:#d34a24;
  --orange:#f28b3c;
  --sand:#f5c074;
  --cream:#fff7ec;
  --muted:#cbbdb3;
  --line:rgba(255,255,255,.12);
  --radius:18px;
  --shadow:0 20px 60px rgba(0,0,0,.35);
  --serif:Georgia,'Times New Roman',serif;
  --sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ink);
  color:var(--cream);
  font-family:var(--sans);
  line-height:1.65;
}
body.admin-bar .site-header{top:32px}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1.2rem}
h1,h2,h3,h4{
  font-family:var(--serif);
  line-height:1.04;
  margin:0 0 1rem;
  font-weight:700;
  letter-spacing:-.025em;
}
h1{font-size:clamp(3.2rem,8vw,7.6rem)}
h2{font-size:clamp(2.3rem,5vw,4.8rem)}
h3{font-size:clamp(1.35rem,2.4vw,2rem)}
.container{width:min(1240px,calc(100% - 40px));margin-inline:auto}
.container.narrow{width:min(780px,calc(100% - 40px))}
.container.wide{width:min(1440px,calc(100% - 40px))}
.section{padding:clamp(76px,10vw,140px) 0}
.section-dark{background:linear-gradient(180deg,#161112 0%,#120f10 100%)}
.section-kicker,.eyebrow,.post-meta{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.76rem;
  font-weight:800;
  color:var(--sand);
}
.lead{font-size:clamp(1.15rem,2vw,1.45rem);color:#eaded5}
.site-header{
  position:absolute;
  z-index:50;
  top:0;left:0;right:0;
  padding:22px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0));
}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand-link{display:flex;flex-direction:column;line-height:1}
.brand-kicker{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--sand);margin-bottom:4px}
.brand-name{font-family:var(--serif);font-size:1.55rem;font-weight:700}
.custom-logo{max-height:72px;width:auto}
.site-nav ul{display:flex;list-style:none;gap:28px;margin:0;padding:0}
.site-nav a{font-size:.92rem;font-weight:700}
.site-nav a:hover{color:var(--sand)}
.menu-toggle{
  display:none;
  color:white;
  border:1px solid rgba(255,255,255,.3);
  background:rgba(0,0,0,.25);
  padding:10px 14px;
  border-radius:999px;
}
.hero{
  min-height:100svh;
  position:relative;
  overflow:hidden;
  display:grid;
  align-items:center;
  padding:150px 0 110px;
  background:
    radial-gradient(circle at 74% 39%,rgba(255,213,118,.9) 0 6%,rgba(255,129,63,.72) 7%,transparent 21%),
    linear-gradient(180deg,#5a0f12 0%,#a92f22 35%,#df622f 58%,#42100f 82%,#120f10 100%);
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(18,15,16,.78),rgba(18,15,16,.15) 60%,rgba(18,15,16,.2)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018),rgba(255,255,255,.018) 1px,transparent 1px,transparent 4px);
}
.hero-content{position:relative;z-index:5}
.hero h1{max-width:930px;text-shadow:0 10px 40px rgba(0,0,0,.35)}
.hero-copy{max-width:710px;font-size:clamp(1.05rem,1.8vw,1.35rem);color:#ffe9da}
.hero-copy-strong{color:white;font-weight:800;font-size:clamp(1.2rem,2vw,1.55rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:14px 21px;border-radius:999px;font-weight:800;
  border:1px solid transparent;transition:.2s ease;
}
.button-primary{background:var(--sand);color:#2a1711}
.button-primary:hover{transform:translateY(-2px);background:white}
.button-ghost{border-color:rgba(255,255,255,.35);background:rgba(0,0,0,.15)}
.button-ghost:hover{background:rgba(0,0,0,.35)}
.hero-fade{position:absolute;bottom:0;left:0;right:0;height:140px;background:linear-gradient(transparent,var(--ink))}
.palm{
  position:absolute;z-index:2;bottom:0;width:280px;height:520px;
  opacity:.66;filter:blur(.2px)
}
.palm:before{
  content:"";position:absolute;bottom:-40px;left:48%;width:28px;height:430px;
  background:linear-gradient(90deg,#100b0b,#261313,#0c0808);
  border-radius:60% 30% 10% 10%;transform:rotate(-7deg);
}
.palm:after{
  content:"";position:absolute;top:40px;left:20px;width:250px;height:150px;
  background:
    radial-gradient(ellipse at 50% 80%,transparent 0 20%,#0d0909 22% 27%,transparent 29%),
    conic-gradient(from 205deg at 50% 80%,#0d0909 0 7%,transparent 7% 15%,#0d0909 15% 21%,transparent 21% 31%,#0d0909 31% 38%,transparent 38% 48%,#0d0909 48% 55%,transparent 55% 68%,#0d0909 68% 75%,transparent 75%);
  border-radius:50%;
}
.palm-left{left:-60px}
.palm-right{right:-70px;transform:scaleX(-1) scale(.82);transform-origin:bottom right}
.intro-section{background:var(--ink)}
.intro-section h2{max-width:950px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:46px}
.text-link{color:var(--sand);font-weight:800;white-space:nowrap}
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post-card{
  border:1px solid var(--line);
  background:#181314;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.post-card-image{aspect-ratio:4/3;display:block;overflow:hidden;background:#2b1717}
.post-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.post-card:hover .post-card-image img{transform:scale(1.035)}
.placeholder-image{
  width:100%;height:100%;min-height:220px;
  display:grid;place-items:center;
  background:
    radial-gradient(circle at 72% 30%,rgba(245,192,116,.45),transparent 17%),
    linear-gradient(145deg,#611513,#b43c24 52%,#241013);
}
.placeholder-image span{font-family:var(--serif);font-size:3rem;color:rgba(255,255,255,.5)}
.post-card-body{padding:24px}
.post-card-body p:last-child{color:var(--muted);margin-bottom:0}
.post-card h2,.post-card h3{margin-top:.3rem}
.gallery-section{background:#1b1213}
.gallery-teasers{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}
.gallery-teaser{
  min-height:360px;border-radius:var(--radius);overflow:hidden;position:relative;
  display:flex;align-items:end;padding:28px;font-family:var(--serif);
  font-size:clamp(1.5rem,3vw,2.6rem);font-weight:700;
  box-shadow:var(--shadow);
}
.gallery-teaser:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.72))}
.gallery-teaser span{position:relative}
.gallery-a{background:linear-gradient(145deg,#5a1714,#d36a34 45%,#1f1716)}
.gallery-b{background:linear-gradient(145deg,#2b1b17,#9b3022 45%,#111)}
.gallery-c{background:linear-gradient(145deg,#251015,#f28b3c 55%,#5c1110)}
.gallery-note{margin-top:20px;color:var(--muted)}
.map-section{background:linear-gradient(180deg,#2a1111,#160f10)}
.map-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:44px;align-items:center}
.trm-map{min-height:520px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.14)}
.leaflet-container{font-family:var(--sans)}
.quote-section{
  padding:clamp(100px,14vw,190px) 0;
  background:linear-gradient(135deg,#5a0b0c,#b53723 48%,#ed7a35);
  text-align:center;
}
blockquote{margin:0}
.quote-mark{display:block;font-family:var(--serif);font-size:8rem;line-height:.6;color:rgba(255,255,255,.25)}
blockquote p{font-family:var(--serif);font-size:clamp(2.3rem,5vw,5.4rem);line-height:1.02;font-weight:700;margin-bottom:24px}
blockquote cite{font-style:normal;color:#ffe5d5;font-weight:800}
.about-strip{background:#120f10}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.about-copy{font-size:1.15rem;color:#d9ccc4}
.site-footer{border-top:1px solid var(--line);background:#0b0909;padding:70px 0 30px}
.footer-grid{display:grid;grid-template-columns:1.5fr .8fr 1fr;gap:50px}
.footer-title{font-family:var(--serif);font-size:1.9rem;font-weight:700;margin-bottom:12px}
.site-footer h3{font-size:1.1rem}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:7px 0}
.site-footer p,.site-footer a{color:#bfb3ac}
.footer-bottom{margin-top:45px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#8f8580;font-size:.86rem}
.single-wrap{background:var(--ink);min-height:70vh}
.single-hero{padding:170px 0 55px;background:linear-gradient(180deg,#4b0d0d,#180f10)}
.single-hero h1{font-size:clamp(3rem,7vw,6.4rem)}
.single-featured{margin-top:45px}
.single-featured img{width:100%;max-height:760px;object-fit:cover;border-radius:var(--radius)}
.article-content{padding:60px 0 100px;font-family:var(--serif);font-size:1.2rem}
.article-content h2,.article-content h3{margin-top:2.4em}
.article-content a{text-decoration:underline;color:var(--sand)}
.article-content .wp-block-image img,
.article-content .wp-block-gallery{border-radius:14px;overflow:hidden}
.content-area{padding-top:170px}
.pagination{margin-top:50px}
.pagination .nav-links{display:flex;gap:10px;flex-wrap:wrap}
.pagination a,.pagination span{padding:10px 14px;border:1px solid var(--line);border-radius:8px}
.lost-page{padding-top:190px;min-height:75vh;background:linear-gradient(180deg,#4b0d0d,#120f10)}
code{background:#0c0909;padding:.15em .4em;border-radius:5px}
@media (max-width:900px){
  .post-grid{grid-template-columns:1fr 1fr}
  .gallery-teasers{grid-template-columns:1fr 1fr}
  .gallery-teaser:first-child{grid-column:1/-1}
  .map-layout,.two-col,.footer-grid{grid-template-columns:1fr}
  .palm-right{display:none}
}
@media (max-width:760px){
  body.admin-bar .site-header{top:46px}
  .menu-toggle{display:block}
  .site-nav{
    display:none;position:absolute;top:78px;left:20px;right:20px;
    background:rgba(12,9,9,.97);padding:18px;border-radius:14px;
    border:1px solid var(--line);box-shadow:var(--shadow)
  }
  .site-nav.is-open{display:block}
  .site-nav ul{flex-direction:column;gap:12px}
  .site-nav li{padding:5px 0}
  .post-grid{grid-template-columns:1fr}
  .gallery-teasers{grid-template-columns:1fr}
  .gallery-teaser:first-child{grid-column:auto}
  .gallery-teaser{min-height:260px}
  .section-heading{align-items:start;flex-direction:column}
  .hero{padding-top:130px}
  .hero h1{font-size:clamp(3rem,14vw,5.4rem)}
  .palm-left{opacity:.35;left:-120px}
  .footer-bottom{flex-direction:column;gap:6px}
}


/* --- Homepage v2: static map preview + featured galleries/pages --- */
.map-preview-section{
  background:
    radial-gradient(circle at 15% 15%,rgba(140,29,24,.22),transparent 25%),
    linear-gradient(180deg,#171011,#120f10);
}
.map-preview-card{
  display:grid;
  grid-template-columns:1.35fr .8fr;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background:#181314;
  box-shadow:var(--shadow);
}
.map-preview-copy{
  padding:clamp(32px,5vw,64px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.map-preview-copy h3{
  font-size:clamp(2rem,4vw,3.7rem);
}
.map-preview-copy p{
  color:var(--muted);
}
.map-preview-copy .button{
  align-self:flex-start;
  margin-top:10px;
}

.featured-pages-section{
  background:#1a1112;
}
.featured-page-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.featured-page-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
  background:#181314;
  box-shadow:var(--shadow);
}
.featured-page-image{
  aspect-ratio:4/3;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 70% 25%,rgba(245,192,116,.4),transparent 20%),
    linear-gradient(145deg,#641613,#cf5a2f 55%,#251112);
  background-size:cover;
  background-position:center;
  font-family:var(--serif);
  font-size:3rem;
  color:rgba(255,255,255,.55);
}
.featured-page-image.has-image{
  position:relative;
}
.featured-page-image.has-image:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 45%,rgba(18,15,16,.38));
}
.featured-page-body{
  padding:24px;
}
.featured-page-body p{
  color:var(--muted);
}
.featured-page-body .text-link{
  display:inline-block;
  margin-top:4px;
}

@media (max-width:900px){
  .map-preview-card{
    grid-template-columns:1fr;
  }
    .featured-page-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:640px){
  .featured-page-grid{
    grid-template-columns:1fr;
  }
  }


.map-preview-link{
  display:block;
  min-height:520px;
  position:relative;
  overflow:hidden;
  background:#171313;
}
.trm-map-preview{
  width:100%;
  height:520px;
  filter:saturate(.72) sepia(.08) contrast(1.05);
}
.map-preview-link:after{
  content:"Open the full travel map";
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:500;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(18,15,16,.86);
  color:var(--cream);
  border:1px solid rgba(255,255,255,.18);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.03em;
  pointer-events:none;
}
.map-preview-link:hover:after{
  background:var(--sand);
  color:#2a1711;
}
.trm-map-preview .leaflet-tile-pane{
  opacity:.88;
}
.trm-map-preview .leaflet-tooltip{
  background:#120f10;
  color:#fff7ec;
  border:1px solid rgba(255,255,255,.15);
  box-shadow:none;
  font-family:var(--sans);
  font-weight:700;
}
.trm-map-preview .leaflet-tooltip-top:before{
  border-top-color:#120f10;
}


/* Homepage map preview — no JavaScript required */
.map-preview-frame{
  position:relative;
  min-height:520px;
  overflow:hidden;
  background:#171313;
}
.map-preview-frame iframe{
  display:block;
  width:100%;
  height:520px;
  border:0;
  filter:saturate(.72) sepia(.08) contrast(1.04);
}
.map-preview-overlay{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  padding:22px;
  background:linear-gradient(180deg,transparent 65%,rgba(18,15,16,.38));
}
.map-preview-overlay span{
  display:inline-flex;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(18,15,16,.90);
  color:var(--cream,#fff7ec);
  border:1px solid rgba(255,255,255,.18);
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.03em;
}
.map-preview-overlay:hover span{
  background:var(--sand,#f5c074);
  color:#2a1711;
}
@media (max-width:900px){
  .map-preview-frame,
  .map-preview-frame iframe{
    min-height:420px;
    height:420px;
  }
}
@media (max-width:640px){
  .map-preview-frame,
  .map-preview-frame iframe{
    min-height:340px;
    height:340px;
  }
}


/* Full travel map page */
.map-page-section{
  background:
    radial-gradient(circle at 15% 10%,rgba(140,29,24,.18),transparent 22%),
    linear-gradient(180deg,#171011,#120f10);
}
.map-page-intro{
  max-width:780px;
  margin-bottom:28px;
  color:var(--muted);
  font-size:1.08rem;
}
.trm-full-map{
  width:100%;
  height:70vh;
  min-height:560px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:var(--shadow);
}
.trm-full-map .leaflet-tile-pane{
  filter:saturate(.72) sepia(.06) contrast(1.04);
}
.trm-full-map .leaflet-popup-content-wrapper,
.trm-full-map .leaflet-popup-tip{
  background:#181314;
  color:#fff7ec;
}
.map-page-key{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}
.map-page-key span{
  padding:8px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#181314;
  color:var(--muted);
  font-size:.82rem;
}
@media (max-width:640px){
  .trm-full-map{
    min-height:460px;
    height:65vh;
  }
}


/* Homepage content/page improvements */
.menace-intro{
  background:
    radial-gradient(circle at 82% 15%,rgba(211,74,36,.10),transparent 22%),
    var(--ink);
}
.menace-intro-grid{
  align-items:start;
}
.menace-intro .about-copy strong{
  color:var(--sand);
}
.featured-page-image{
  transition:transform .35s ease, filter .35s ease;
}
.featured-page-card:hover .featured-page-image{
  filter:brightness(1.06);
}
.map-page-content{
  background:#120f10;
  border-bottom:1px solid var(--line);
}
.map-article-content{
  padding-top:54px;
  padding-bottom:54px;
}
