:root{
  --canopy:#23392b; --lichen:#8a9a5b; --ochre:#b9862c; --river:#2f6f73;
  --bone:#f2f3ee; --paper:#ffffff; --ink:#1c211d; --muted:#55605a; --line:#d6dbd2;
  --serif:"Alegreya",Georgia,"Times New Roman",serif;
  --sans:"Alegreya Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--bone);color:var(--ink);font-family:var(--sans);font-size:1.125rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--river);text-underline-offset:3px}
a:hover{color:var(--canopy)}
:focus-visible{outline:3px solid var(--ochre);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--paper);padding:.5rem 1rem;z-index:20}
.skip:focus{left:1rem}
.wrap{width:min(1120px,100% - 2.5rem);margin-inline:auto}

/* header */
.site-head{background:var(--canopy);color:#fff;padding-top:env(safe-area-inset-top,0px)}
.head-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;padding:1rem 0}
.brand{font-family:var(--serif);font-weight:800;font-size:1.6rem;color:#fff !important;
  text-decoration:none;letter-spacing:-.01em}
.brand span{color:#d9c48a;font-weight:500}
.nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}
.nav a{color:#e4ebe2;text-decoration:none;font-size:1.02rem;padding:.25rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current="page"]{color:#fff;border-bottom-color:#d9c48a}

/* hero */
.hero{position:relative;min-height:min(78vh,720px);display:flex;align-items:flex-end;color:#fff;background:#2b2a24}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,28,22,.88) 0%,rgba(20,28,22,.35) 45%,rgba(20,28,22,0) 70%)}
.hero-copy{position:relative;z-index:1;padding:3rem 0 2.5rem}
.hero h1{font-family:var(--serif);font-weight:800;font-size:clamp(2.6rem,7vw,5.6rem);line-height:.98;letter-spacing:-.02em;margin:0 0 1rem;max-width:14ch}
.hero p{font-size:clamp(1.1rem,2vw,1.35rem);max-width:46ch;margin:0 0 1.5rem;color:#eef1ea}
.tag{display:inline-block;border-left:3px solid #d9c48a;padding-left:.75rem;font-size:.92rem;color:#dfe5dc;line-height:1.4}
.tag em{font-family:var(--serif);color:#fff}

/* article */
.main{padding:3.5rem 0 4rem}
.prose{max-width:68ch;margin-inline:auto}
.prose h1,.prose h2,.prose h3{font-family:var(--serif);line-height:1.15;color:var(--canopy)}
.prose h1{font-size:clamp(2.1rem,4.5vw,3.2rem);margin:0 0 .5rem;letter-spacing:-.015em}
.prose h2{font-size:clamp(1.55rem,3vw,2.05rem);margin:2.6rem 0 .6rem}
.prose h3{font-size:1.3rem;margin:1.8rem 0 .4rem}
.prose p,.prose li{margin:0 0 1.1rem}
.prose ul,.prose ol{padding-left:1.3rem}
.lede{font-size:1.28rem;color:#2c362f}
.byline{color:var(--muted);font-size:.98rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}
.byline strong{color:var(--ink)}

/* field-note figures */
.figure{margin:2.2rem 0}
.figure img{border-radius:4px}
.figure figcaption{margin-top:.6rem;border-left:3px solid var(--ochre);padding-left:.75rem;font-size:.92rem;color:var(--muted);line-height:1.45}
.figure figcaption em{font-family:var(--serif);color:var(--ink)}
.figure.wide{width:min(980px,100vw - 2.5rem);margin-left:50%;transform:translateX(-50%)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:min(980px,100vw - 2.5rem);margin:2.2rem 0 2.2rem 50%;transform:translateX(-50%)}
.pair .figure{margin:0}
.pair img{aspect-ratio:4/3;object-fit:cover;width:100%}

/* journal entry on home */
.journal{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:3.5rem 0}
.journal h2{font-family:var(--serif);color:var(--canopy);font-size:clamp(1.7rem,3.2vw,2.3rem);margin:0 0 1.5rem}
.entry{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:center;text-decoration:none;color:inherit}
.entry img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:4px}
.entry h3{font-family:var(--serif);font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.15;margin:.2rem 0 .7rem;color:var(--ink)}
.entry:hover h3{color:var(--river);text-decoration:underline;text-underline-offset:4px}
.entry p{margin:0 0 1rem;color:#38423b}
.entry .meta{color:var(--muted);font-size:.95rem}
.readmore{font-weight:700;color:var(--river)}

/* legal / contact pages */
.page-head{background:var(--canopy);color:#fff;padding:3rem 0 2.5rem}
.page-head h1{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.4rem);margin:0;line-height:1.05}
.page-head p{margin:.6rem 0 0;color:#dfe6dc;max-width:60ch}
.note{background:#e6ece3;border-left:4px solid var(--lichen);padding:1rem 1.25rem;margin:1.5rem 0;border-radius:0 4px 4px 0}
.form{display:grid;gap:1rem;margin:1.5rem 0}
.form label{display:grid;gap:.35rem;font-weight:700;color:var(--canopy)}
.form input,.form textarea{font:inherit;font-weight:400;padding:.7rem .85rem;border:1px solid #b9c2b5;border-radius:4px;background:var(--paper);color:var(--ink)}
.form textarea{min-height:9rem;resize:vertical}
.btn{justify-self:start;font:inherit;font-weight:700;background:var(--canopy);color:#fff;border:0;border-radius:4px;padding:.75rem 1.4rem;cursor:pointer}
.btn:hover{background:var(--river)}
.form-status{color:var(--river);font-weight:700;min-height:1.5em;margin:0}

/* footer */
.site-foot{background:#1d2b22;color:#c9d3c6;padding:2.5rem 0 calc(2rem + env(safe-area-inset-bottom,0px));font-size:.95rem}
.foot-grid{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem}
.site-foot a{color:#e9efe6}
.foot-links{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.credits{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid #31453a;font-size:.85rem;color:#a9b5a6}

@media (max-width:760px){
  body{font-size:1.06rem}
  .entry{grid-template-columns:1fr}
  .pair{grid-template-columns:1fr}
  .hero{min-height:70vh}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
