:root{
  --black: #0a0d0b; --forest-dark: #13221a;
  --white: #eef1ec; --grey: #8d988f;
  --forest: #1f3d2b; --accent-bright: #4f8f68;
  --navy: #1f3350; --navy-bright: #3a6199;
  --line: rgba(238,241,236,0.12); --line-bright: rgba(238,241,236,0.22);
  --serif: "Fraunces", serif; --sans: "Inter", sans-serif; --mono: "JetBrains Mono", monospace;
}
*{ margin:0; padding:0; box-sizing:border-box; }
body{ background:var(--black); color:var(--white); font-family:var(--sans); line-height:1.6; -webkit-font-smoothing:antialiased; }
a{ color:inherit; }
.wrap{ max-width:900px; margin:0 auto; padding:0 32px; }
@media(max-width:640px){ .wrap{ padding:0 20px; } }

header{ position:fixed; top:0; left:0; right:0; z-index:50; display:flex; align-items:center; justify-content:space-between; padding:22px 32px; mix-blend-mode:difference; }
@media(max-width:640px){ header{ padding:16px 20px; } }
.brand{ display:flex; align-items:baseline; gap:9px; font-family:var(--mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; text-decoration:none; color:var(--white); }
.brand .key{ border:1px solid var(--white); border-radius:3px; padding:2px 6px; font-size:10px; }
header .back{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; opacity:.85; }
header .back:hover{ opacity:1; }

.hero{ position:relative; height:78vh; min-height:480px; overflow:hidden; border-bottom:1px solid var(--line); }
.hero img{ width:100%; height:100%; object-fit:cover; filter:saturate(0.92) brightness(0.85); }
.hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, var(--black) 0%, rgba(20,23,26,0.15) 45%, rgba(20,23,26,0.35) 100%); }
.hero-text{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:0 32px 46px; }
@media(max-width:640px){ .hero-text{ padding:0 20px 32px; } }
.eyebrow{ font-family:var(--mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--grey); display:block; margin-bottom:16px; }
.hero-text h1{ font-family:var(--serif); font-weight:500; font-size:clamp(2.6rem,7vw,5.2rem); line-height:.95; }
.hero-meta{ margin-top:20px; display:flex; gap:22px; flex-wrap:wrap; font-family:var(--mono); font-size:12px; letter-spacing:.06em; color:var(--grey); text-transform:uppercase; }
.hero-meta span.hi{ color:var(--accent-bright); }

.field-note{ padding:70px 0 20px; }
.field-note p{ font-family:var(--serif); font-weight:300; font-size:clamp(1.15rem,2.2vw,1.5rem); line-height:1.5; max-width:70ch; }
.field-note p::first-letter{ font-size:2.6em; float:left; line-height:.8; padding:.04em .07em 0 0; color:var(--accent-bright); font-weight:500; }
.field-note p + p{ margin-top:22px; }

.gallery{ padding:50px 0 90px; display:flex; flex-direction:column; gap:54px; }
figure{ margin:0; }
figure img{ width:100%; display:block; border-radius:2px; }
figcaption{ margin-top:14px; font-family:var(--mono); font-size:12px; letter-spacing:.04em; color:var(--grey); max-width:60ch; }
.wide{ width:100%; }
.pair{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media(max-width:700px){ .pair{ grid-template-columns:1fr; } }

.meta-strip{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:28px 0; margin:10px 0 60px; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--grey); display:flex; gap:30px; flex-wrap:wrap; }
.meta-strip .hi{ color:var(--white); }

.next-dispatch{ border-top:1px solid var(--line); padding:56px 0 80px; text-align:center; }
.next-dispatch .label{ font-family:var(--mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--grey); margin-bottom:16px; display:block; }
.next-dispatch a{ font-family:var(--serif); font-style:italic; font-weight:400; font-size:clamp(1.8rem,4vw,2.6rem); text-decoration:none; color:var(--white); border-bottom:1px solid var(--line-bright); padding-bottom:6px; transition:color .2s ease, border-color .2s ease; }
.next-dispatch a:hover{ color:var(--accent-bright); border-color:var(--accent-bright); }

.sub-entry{ margin-top:20px; padding-top:56px; border-top:1px solid var(--line); }
.sub-entry .se-label{ font-family:var(--mono); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--accent-bright); margin-bottom:18px; display:block; }
.sub-entry h2{ font-family:var(--serif); font-weight:500; font-size:clamp(1.8rem,4vw,2.6rem); margin-bottom:24px; }
.sub-entry .field-note{ padding-top:0; }

.dispatch-video{ padding:50px 0 10px; text-align:center; }
.dispatch-video video{ width:100%; max-width:480px; border-radius:6px; border:1px solid var(--line); background:var(--forest-dark); }
.dispatch-video p{ font-family:var(--mono); font-size:12px; letter-spacing:.04em; color:var(--grey); max-width:52ch; margin:18px auto 0; line-height:1.7; }
.dispatch-video .music-credit{ font-size:11px; opacity:0.65; margin-top:8px; }

footer{ padding:30px 0; border-top:1px solid var(--line); font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--grey); text-align:center; }

.contact-block{ text-align:center; padding:10px 0 56px; }
.email-button{
  display:inline-flex; align-items:center; gap:12px;
  font-family:var(--mono); font-size:13px; letter-spacing:0.12em; text-transform:uppercase;
  text-decoration:none; color:var(--white); background:transparent;
  border:1px solid var(--line-bright);
  padding:15px 30px; border-radius:40px;
  transition:border-color 0.2s ease, color 0.2s ease;
}
.email-button:hover{ border-color:var(--accent-bright); color:var(--accent-bright); }
.email-button:active{ transform:scale(0.97); }
.email-button svg{ width:16px; height:16px; }
