:root {
  --bg:#091410;
  --panel:#12251d;
  --ink:#eff8ed;
  --muted:#aec3b5;
  --accent:#cff566;
  --line:#294436}
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px}
body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.75 system-ui,sans-serif}
a {
  color:inherit;
  text-decoration:none}
button {
  font:inherit}
img {
  max-width:100%;
  height:auto}
.wrap {
  width:min(1180px,calc(100% - 40px));
  margin:auto}
header {
  position:sticky;
  top:0;
  background:#091410f2;
  border-bottom:1px solid var(--line);
  z-index:20;
  backdrop-filter:blur(16px)}
.bar {
  display:flex;
  align-items:center;
  gap:24px;
  min-height:80px}
.brand {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:25px;
  font-weight:850;
  letter-spacing:-1px}
.brand img {
  width:44px;
  height:44px;
  object-fit:contain}
.brand small {
  display:block;
  font:10px system-ui;
  letter-spacing:2px;
  color:var(--accent)}
nav {
  display:flex;
  gap:22px;
  margin-left:auto;
  font-size:13px}
nav a[aria-current] {
  color:var(--accent)}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  padding:12px 23px;
  background:var(--accent);
  color:#15220b;
  border:1px solid var(--accent);
  border-radius:6px;
  font-size:14px;
  font-weight:750}
.button.secondary {
  background:transparent;
  color:var(--ink);
  border-color:#51735e}
.actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px}
.menu {
  display:none;
  background:transparent;
  color:var(--ink);
  border:1px solid var(--line);
  padding:5px 12px}
.hero {
  padding:70px 0 56px;
  border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse at 85% 15%,#294733 0,transparent 55%)}
.hero-grid {
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:70px;
  align-items:center}
.eyebrow {
  font:12px/1.5 ui-monospace,monospace;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--accent)}
h1 {
  font-size:clamp(36px,5vw,67px);
  line-height:1.12;
  letter-spacing:-2px;
  margin:20px 0}
h2 {
  font-size:30px;
  line-height:1.25;
  letter-spacing:-.7px}
h3 {
  line-height:1.3}
.lead {
  font-size:18px;
  color:var(--muted);
  max-width:670px}
.visual {
  aspect-ratio:1;
  border:1px solid #3f604b;
  background:linear-gradient(135deg,#203f2b,#102019);
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden}
.visual img {
  width:100%;
  height:100%;
  object-fit:cover;
  position:absolute;
  inset:0}
.visual strong {
  font-size:72px;
  letter-spacing:-5px;
  color:var(--accent)}

.quick {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-bottom:1px solid var(--line)}
.quick a {
  padding:24px 28px;
  border-right:1px solid var(--line)}
.quick span {
  color:var(--muted);
  display:block;
  font-size:13px}
.quick b {
  font-size:17px}
.section {
  padding:60px 0}
.section-head {
  display:flex;
  justify-content:space-between;
  gap:25px;
  align-items:end;
  margin-bottom:28px}
.section-head p {
  color:var(--muted);
  max-width:430px}
.cards {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px}
.card {
  padding:25px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel)}
.card:hover {
  border-color:#84a562}
.card p {
  color:var(--muted);
  font-size:14px}
.card img {
  width:100%;
  aspect-ratio:1.6;
  object-fit:cover;
  margin-bottom:16px}
.num {
  font:12px monospace;
  color:var(--accent)}
.reading {
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:55px}
.toc {
  position:sticky;
  top:110px;
  align-self:start;
  border-top:2px solid var(--accent);
  padding-top:14px;
  font-size:13px}
.toc a {
  display:block;
  color:var(--muted);
  padding:7px 0}
.toc a:hover {
  color:var(--accent)}
article {
  min-width:0}
article section {
  padding:26px 0;
  border-bottom:1px solid var(--line)}
article h2 {
  font-size:26px}
article p {
  color:#c5d6c8}
article .editor-step {
  color:var(--accent);
  font:11px monospace;
  letter-spacing:1px}
article details {
  border:1px solid var(--line);
  padding:18px;
  margin:12px 0;
  border-radius:8px}
summary {
  cursor:pointer;
  font-weight:700}
article a {
  color:var(--accent);
  text-decoration:underline}
article .story-columns,article .story-long {
  display:contents}
.layout-cards article {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px}
.layout-cards article section {
  padding:24px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:10px}
.layout-cards article>section:first-child,.layout-cards article>section:last-child {
  grid-column:1/-1}
.layout-steps article section {
  border-left:2px solid #466439;
  padding:18px 0 28px 28px;
  margin-bottom:20px}
.layout-editorial .reading {
  grid-template-columns:1fr 250px}
.layout-editorial .toc {
  grid-column:2;
  grid-row:1}
.layout-editorial article {
  grid-column:1;
  grid-row:1}
.cta {
  padding:38px;
  background:var(--accent);
  color:#13230d;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border-radius:12px}
.cta h2 {
  margin:0 0 8px}
.cta p {
  margin:0}
.cta .button {
  background:#13230d;
  color:white;
  border-color:#13230d;
  white-space:nowrap}
footer {
  padding:40px 0 90px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:13px}
.footer-links {
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  margin:20px 0}
.mobile-actions {
  display:none}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid #cff566;
  outline-offset:4px}
.crumb {
  font-size:12px;
  color:var(--muted);
  margin-bottom:25px}
.missing {
  display:none!important}
table {
  border-collapse:collapse;
  width:100%;
  font-size:14px}
td,th {
  border:1px solid var(--line);
  padding:10px;
  text-align:left}
li {
  margin-bottom:10px;
  overflow-wrap:anywhere}
article img {
  max-width:100%}
@media(max-width:900px) {
  nav {
  display:none;
  position:absolute;
  top:80px;
  left:0;
  right:0;
  background:#102019;
  padding:24px;
  flex-wrap:wrap;
  border-bottom:1px solid var(--line)}
nav.open {
  display:flex}
.menu {
  display:block;
  margin-left:auto}
.bar>.button {
  display:none}
.hero-grid {
  gap:28px;
  grid-template-columns:1.3fr .7fr}
.reading,.layout-editorial .reading {
  grid-template-columns:1fr}
.toc,.layout-editorial .toc {
  position:static;
  grid-column:auto;
  grid-row:auto}
.layout-editorial article {
  grid-column:auto;
  grid-row:auto}
.cards {
  grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px) {
  .wrap {
  width:calc(100% - 32px)}
.hero {
  padding:35px 0}
.hero-grid {
  grid-template-columns:1fr}
.visual {
  max-width:280px;
  width:100%;
  margin:auto}
.hero h1 {
  font-size:38px;
  letter-spacing:-1px}
.quick {
  grid-template-columns:1fr}
.quick a {
  padding:15px 4px;
  border-right:0;
  border-bottom:1px solid var(--line)}
.cards,.layout-cards article {
  grid-template-columns:1fr}
.section {
  padding:36px 0}
.section-head,.cta {
  display:block}
.cta {
  padding:25px}
.cta .button {
  margin-top:20px}
.mobile-actions {
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  display:flex;
  gap:8px;
  padding:10px 16px;
  background:#091410f5;
  z-index:30;
  border-top:1px solid var(--line)}
.mobile-actions a {
  flex:1;
  padding:9px 4px}
.lead {
  font-size:16px}
.layout-cards article>section {
  grid-column:1!important}
h2 {
  font-size:27px}
}


.image-guides .card img { aspect-ratio:1;object-fit:contain;border-radius:7px;background:#07351e; }

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


.visual img { object-fit:contain; }


.visual img { object-fit:contain; }
