/*
Theme Name: Japa To Chile
Theme URI: https://japatochile.com
Author: Japa To Chile
Description: Editorial relocation-guide theme built around a research/journey narrative, with a compact ebook sales section.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: japatochile
*/

:root{
  --ink:#12172B;
  --ink-soft:#2B3040;
  --paper:#EAE6DB;
  --paper-hi:#F4F2EA;
  --copper:#B5652D;
  --copper-soft:#C98449;
  --patina:#4C8577;
  --rust:#8A3E28;
  --line:rgba(18,23,43,0.14);
  --line-on-dark:rgba(234,230,219,0.16);
  --text-muted:#5B5A4E;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans',sans-serif;
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
::selection{background:var(--copper);color:var(--paper-hi);}

.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.02em;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:11.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--copper);
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--copper);display:inline-block;}

h1,h2,h3{font-family:'Fraunces',serif;font-weight:450;letter-spacing:-0.01em;}
a{color:inherit;}

/* ---------- Spine ---------- */
.spine{position:fixed;left:48px;top:0;bottom:0;width:2px;z-index:5;display:none;}
.spine svg{height:100%;width:100%;overflow:visible;}
.spine-path{stroke:var(--ink);stroke-opacity:0.16;stroke-width:1.4;fill:none;}
.spine-progress{stroke:var(--copper);stroke-width:1.4;fill:none;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .1s linear;}
@media(min-width:1100px){ .spine{display:block;} }

/* ---------- Nav ---------- */
nav.site-nav{
  position:sticky;top:0;z-index:20;
  display:flex;justify-content:space-between;align-items:center;
  padding:22px 56px;
  background:rgba(234,230,219,0.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  flex-wrap:wrap;gap:14px;
}
.wordmark{font-family:'IBM Plex Mono',monospace;font-weight:500;font-size:14px;letter-spacing:0.04em;text-decoration:none;color:var(--ink);}
.wordmark span{color:var(--copper);}
.site-nav ul{list-style:none;display:flex;gap:26px;flex-wrap:wrap;}
.site-nav ul a{text-decoration:none;font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:0.03em;color:var(--ink-soft);}
.site-nav ul a:hover{color:var(--copper);}
.nav-cta{
  font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:0.05em;text-decoration:none;
  border:1px solid var(--ink);padding:9px 18px;transition:all .25s ease;
}
.nav-cta:hover{background:var(--ink);color:var(--paper-hi);}

section{padding:100px 56px;max-width:1180px;margin:0 auto;position:relative;}
@media(min-width:1100px){ section{padding-left:140px;} }

/* ---------- Hero ---------- */
.hero{padding-top:90px;padding-bottom:80px;}
.hero h1{font-size:clamp(2.4rem,5.6vw,4.2rem);line-height:1.06;margin-top:22px;max-width:17ch;}
.hero h1 em{color:var(--copper);font-style:italic;font-weight:400;}
.hero p.lede{margin-top:24px;font-size:1.1rem;color:var(--ink-soft);max-width:52ch;font-weight:300;}
.hero-ctas{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap;}
.btn-primary{
  background:var(--ink);color:var(--paper-hi);padding:16px 30px;text-decoration:none;
  font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:0.04em;border:1px solid var(--ink);transition:all .25s ease;
  display:inline-block;
}
.btn-primary:hover{background:var(--copper);border-color:var(--copper);}
.btn-secondary{
  padding:16px 30px;text-decoration:none;color:var(--ink);font-family:'IBM Plex Mono',monospace;
  font-size:13px;letter-spacing:0.04em;border:1px solid var(--line);transition:all .25s ease;display:inline-block;
}
.btn-secondary:hover{border-color:var(--ink);}

/* ---------- Section headers ---------- */
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:20px;margin-bottom:50px;}
.sec-head h2{font-size:clamp(1.8rem,3.2vw,2.6rem);max-width:20ch;}
.geotag{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--text-muted);text-align:right;line-height:1.7;}
.geotag b{color:var(--patina);}
.section-lede{max-width:70ch;color:var(--ink-soft);font-weight:300;margin-bottom:44px;font-size:1.05rem;}

/* ---------- Journey / story cards (blog teaser) ---------- */
.journey-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px;background:var(--line);border:1px solid var(--line);}
.journey-card{background:var(--paper-hi);padding:34px;display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink);}
.journey-card .jc-tag{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--copper);}
.journey-card h3{font-size:1.3rem;line-height:1.25;}
.journey-card p{font-size:0.92rem;color:var(--text-muted);font-weight:300;}
.journey-card .jc-read{margin-top:auto;font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--patina);}

/* ---------- Document panel ---------- */
.doc-panel{border:1px solid var(--line);background:var(--paper-hi);padding:44px;}
.doc-row{display:grid;grid-template-columns:1.2fr 0.9fr 1.9fr;gap:28px;align-items:start;padding:26px 0;border-bottom:1px solid var(--line);}
.doc-row:last-child{border-bottom:none;}
.doc-row .country{font-family:'Fraunces',serif;font-style:italic;font-size:1.1rem;}
.doc-row .metric{font-family:'IBM Plex Mono',monospace;font-size:13px;color:var(--rust);}
.doc-row .note{font-size:0.92rem;color:var(--text-muted);}
@media(max-width:760px){.doc-row{grid-template-columns:1fr;gap:6px;}}

/* ---------- Timeline ---------- */
.timeline{margin-top:10px;}
.tl-item{display:grid;grid-template-columns:110px 1fr;gap:32px;padding:32px 0;border-top:1px solid var(--line);}
.tl-item:last-child{border-bottom:1px solid var(--line);}
.tl-lat{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--patina);padding-top:6px;}
.tl-body h3{font-size:1.4rem;margin-bottom:8px;}
.tl-body p{color:var(--ink-soft);max-width:60ch;font-weight:300;}
.tl-tag{display:inline-block;margin-top:12px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.05em;color:var(--copper);border:1px solid var(--copper);padding:4px 10px;}
@media(max-width:640px){.tl-item{grid-template-columns:1fr;gap:10px;}}

/* ---------- Reach (dark section) ---------- */
.reach{background:var(--ink);color:var(--paper-hi);margin:0 -56px;padding:100px 56px;}
@media(min-width:1100px){.reach{margin-left:-140px;margin-right:-56px;padding-left:196px;}}
.reach .eyebrow{color:var(--copper-soft);}
.reach .eyebrow::before{background:var(--copper-soft);}
.reach h2{color:var(--paper-hi);font-size:clamp(1.9rem,3.6vw,2.8rem);max-width:20ch;margin-top:16px;}
.reach-grid{margin-top:50px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line-on-dark);border:1px solid var(--line-on-dark);}
.reach-cell{background:var(--ink);padding:24px;}
.reach-cell .region{font-family:'IBM Plex Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--patina);}
.reach-cell p{margin-top:10px;font-size:0.92rem;color:rgba(234,230,219,0.75);font-weight:300;}

/* ---------- Compact ebook CTA ---------- */
.ebook-compact{background:var(--paper-hi);border:1px solid var(--line);padding:48px;}
.ebook-inner{display:grid;grid-template-columns:0.6fr 1.4fr;gap:44px;align-items:center;}
@media(max-width:760px){.ebook-inner{grid-template-columns:1fr;}}
.book-mock{
  aspect-ratio:3/4;background:linear-gradient(155deg,#1a2038,var(--ink) 55%);border:1px solid var(--copper);
  position:relative;padding:28px 24px;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:10px 10px 0 rgba(181,101,45,0.18);
}
.book-mock .b-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.12em;color:var(--copper-soft);text-transform:uppercase;}
.book-mock h3{color:var(--paper-hi);font-size:1.5rem;line-height:1.15;margin-top:12px;}
.book-mock .b-foot{font-family:'IBM Plex Mono',monospace;font-size:10px;color:rgba(234,230,219,0.6);}
.ebook-compact ul{list-style:none;margin-top:18px;}
.ebook-compact li{padding:10px 0;border-top:1px solid var(--line);font-weight:300;color:var(--ink-soft);font-size:0.95rem;display:flex;gap:12px;}
.ebook-compact li::before{content:'—';color:var(--copper);flex-shrink:0;}
.price-row{display:flex;align-items:center;gap:20px;margin-top:26px;flex-wrap:wrap;}
.price{font-family:'Fraunces',serif;font-style:italic;font-size:1.8rem;color:var(--rust);}

/* ---------- Blog / archive ---------- */
.post-list{display:flex;flex-direction:column;gap:0;}
.post-item{padding:36px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:140px 1fr;gap:28px;}
.post-item .p-date{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--text-muted);padding-top:6px;}
.post-item h2{font-size:1.5rem;margin-bottom:8px;}
.post-item h2 a{text-decoration:none;}
.post-item h2 a:hover{color:var(--copper);}
.post-item p{color:var(--ink-soft);font-weight:300;}
@media(max-width:600px){.post-item{grid-template-columns:1fr;gap:8px;}}

/* ---------- Single post ---------- */
.single-post-head{margin-bottom:50px;}
.single-post-head .eyebrow{margin-bottom:16px;}
.single-post-head h1{font-size:clamp(2rem,5vw,3rem);max-width:20ch;}
.post-meta{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--text-muted);margin-top:18px;}
.post-content{max-width:70ch;font-size:1.08rem;font-weight:300;color:var(--ink-soft);}
.post-content p{margin-bottom:1.4em;}
.post-content h2{font-size:1.6rem;margin:1.6em 0 0.6em;color:var(--ink);}
.post-content h3{font-size:1.3rem;margin:1.4em 0 0.5em;color:var(--ink);}
.post-content ul,.post-content ol{margin:0 0 1.4em 1.4em;}
.post-content blockquote{border-left:2px solid var(--copper);padding-left:22px;font-style:italic;font-family:'Fraunces',serif;margin:1.6em 0;}
.post-content img{margin:1.6em 0;}
.author-box{margin-top:70px;padding:30px;border:1px solid var(--line);background:var(--paper-hi);display:flex;gap:20px;align-items:flex-start;max-width:70ch;}
.author-box img{width:56px;height:56px;border-radius:50%;flex-shrink:0;}
.author-box h4{font-family:'Fraunces',serif;font-size:1.05rem;margin-bottom:6px;}
.author-box p{font-size:0.92rem;color:var(--text-muted);font-weight:300;}

/* ---------- Static page ---------- */
.page-content{max-width:70ch;font-weight:300;color:var(--ink-soft);font-size:1.05rem;}
.page-content h1{color:var(--ink);font-size:clamp(2rem,4.5vw,2.8rem);margin-bottom:30px;font-weight:450;}
.page-content h2{font-size:1.5rem;color:var(--ink);margin:1.5em 0 0.5em;}
.page-content p{margin-bottom:1.3em;}

/* ---------- Footer ---------- */
footer.site-footer{padding:60px 56px 40px;max-width:1180px;margin:0 auto;border-top:1px solid var(--line);}
@media(min-width:1100px){ footer.site-footer{padding-left:140px;} }
footer.site-footer .disclaimer{font-size:0.85rem;color:var(--text-muted);max-width:70ch;font-weight:300;}
.foot-row{display:flex;justify-content:space-between;margin-top:26px;flex-wrap:wrap;gap:14px;}
.foot-row .mono{font-size:11px;color:var(--text-muted);}
.foot-links{display:flex;gap:20px;list-style:none;flex-wrap:wrap;}
.foot-links a{font-family:'IBM Plex Mono',monospace;font-size:11px;text-decoration:none;color:var(--text-muted);}
.foot-links a:hover{color:var(--copper);}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){ .reveal{opacity:1;transform:none;transition:none;} html{scroll-behavior:auto;} }
a:focus-visible, button:focus-visible{outline:2px solid var(--copper);outline-offset:3px;}

/* ---------- WP defaults ---------- */
.alignwide{max-width:1180px;}
.wp-caption-text{font-size:0.85rem;color:var(--text-muted);margin-top:8px;}
