/* Great Green Media — Field Notes (article pages) · shared styles */
@font-face{font-family:'Vanadine'; font-style:normal; font-weight:400; font-display:swap; src:url('/site-assets/vanadine-regular.ttf') format('truetype');}
@font-face{font-family:'Vanadine'; font-style:normal; font-weight:700; font-display:swap; src:url('/site-assets/vanadine-bold.ttf') format('truetype');}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --ink:#0c0e0c; --ink2:#11140f; --paper:#f3f1ea;
  --muted:rgba(243,241,234,0.66); --faint:rgba(243,241,234,0.42);
  --line:rgba(243,241,234,0.14); --accent:#9db892; --accent-deep:#7fa074;
}
html{scroll-behavior:smooth;}
body{background:var(--ink); color:var(--paper);
  font-family:'Inter',system-ui,-apple-system,sans-serif; font-weight:300;
  line-height:1.7; -webkit-font-smoothing:antialiased;}

.eyebrow{font-size:11px; font-weight:600; letter-spacing:3.5px; text-transform:uppercase; color:var(--accent);}
h1,h2,h3{font-family:'Fraunces',Georgia,serif; font-weight:300; letter-spacing:-0.01em; text-wrap:balance;}

/* nav */
.article-nav{position:sticky; top:0; z-index:20; background:rgba(12,14,12,0.82);
  backdrop-filter:saturate(140%) blur(10px); -webkit-backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);}
.article-nav-inner{max-width:760px; margin:0 auto; padding:18px 28px;
  display:flex; justify-content:space-between; align-items:center;}
.brand{display:inline-flex; align-items:center; gap:10px; text-decoration:none;}
.brand-mark{height:26px; width:26px; display:block; flex-shrink:0;}
.brand-word{font-family:'Vanadine',sans-serif; font-size:18px; font-weight:400; letter-spacing:2px; text-transform:uppercase; color:var(--paper); line-height:1;}
.brand-word b{color:var(--accent); font-weight:400;}
.back{font-size:11px; font-weight:500; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--muted); text-decoration:none; transition:color .2s;}
.back:hover{color:var(--accent);}

/* article shell */
article{max-width:760px; margin:0 auto; padding:0 28px;}
.article-head{padding:74px 0 40px; border-bottom:1px solid var(--line); margin-bottom:46px;}
.article-head .eyebrow{display:block; margin-bottom:20px;}
.article-head h1{font-size:clamp(34px,5.4vw,56px); line-height:1.05; margin-bottom:22px;}
.article-head .kw{font-size:12px; letter-spacing:1px; color:var(--faint); text-transform:uppercase;}

.article-body{font-size:17px; color:var(--muted); padding-bottom:30px;}
.article-body .lede{font-size:21px; line-height:1.6; color:var(--paper); font-weight:300; margin-bottom:34px; text-wrap:pretty;}
.article-body p{margin-bottom:22px; text-wrap:pretty;}
.article-body h2{font-size:clamp(26px,3.4vw,34px); color:var(--paper); line-height:1.15; margin:48px 0 18px;}
.article-body h3{font-family:'Inter',sans-serif; font-size:17px; font-weight:600; letter-spacing:0.2px;
  color:var(--paper); margin:30px 0 12px;}
.article-body ul{margin:0 0 22px 0; padding-left:22px;}
.article-body li{margin-bottom:9px;}
.article-body strong{color:var(--paper); font-weight:500;}
.article-body p a{color:var(--paper); text-decoration:none; border-bottom:1px solid rgba(157,184,146,0.45); transition:color .2s, border-color .2s;}
.article-body p a:hover{color:var(--accent); border-color:var(--accent);}

/* faq */
.faq{margin-top:56px; border-top:1px solid var(--line); padding-top:40px;}
.faq h2{font-size:clamp(24px,3vw,30px); color:var(--paper); margin-bottom:26px;}
.qa{padding:20px 0; border-bottom:1px solid var(--line);}
.qa:last-child{border-bottom:none;}
.qa .q{font-family:'Inter',sans-serif; font-size:16.5px; font-weight:600; color:var(--paper); margin-bottom:8px;}
.qa .a{font-size:16px; color:var(--muted); margin-bottom:0;}

/* cta */
.article-cta{margin-top:56px; padding:38px 34px; background:var(--ink2);
  border:1px solid var(--line); border-radius:6px; text-align:center;}
.article-cta p{font-family:'Fraunces',serif; font-size:21px; color:var(--paper); margin-bottom:22px; line-height:1.35;}
.btn{display:inline-flex; align-items:center; gap:10px; font-family:'Inter',sans-serif;
  font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase;
  padding:15px 28px; border-radius:2px; cursor:pointer; text-decoration:none;
  transition:background .2s, color .2s, transform .2s; border:1px solid transparent;}
.btn-primary{background:var(--accent); color:#0c0e0c;}
.btn-primary:hover{background:var(--paper); transform:translateY(-2px);}
.btn .arw{transition:transform .2s;} .btn:hover .arw{transform:translateX(4px);}

/* related notes (internal links) */
.related-notes{margin-top:54px; padding-top:38px; border-top:1px solid var(--line);}
.related-eyebrow{font-size:10px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--accent); margin-bottom:20px;}
.related-grid{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.related-card{display:block; padding:20px 22px; border:1px solid var(--line); border-radius:6px; text-decoration:none; background:rgba(243,241,234,0.015); transition:border-color .2s, background .2s, transform .2s;}
.related-card:hover{border-color:rgba(157,184,146,0.5); background:rgba(157,184,146,0.05); transform:translateY(-2px);}
.related-k{display:block; font-size:9.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--accent); margin-bottom:8px;}
.related-t{display:block; font-family:'Fraunces',serif; font-weight:300; font-size:18px; line-height:1.2; color:var(--paper);}
@media(max-width:600px){ .related-grid{grid-template-columns:1fr;} }

/* footer */
footer{margin-top:70px; border-top:1px solid var(--line); padding:42px 0 50px;}
.foot-inner{max-width:760px; margin:0 auto; padding:0 28px; display:flex;
  justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:18px;}
.foot-brand{font-family:'Vanadine',sans-serif; font-size:21px; letter-spacing:1.5px; text-transform:uppercase; color:var(--paper);}
.foot-brand span{display:block; font-family:'Inter',sans-serif; font-size:10.5px; font-weight:500;
  letter-spacing:2px; text-transform:uppercase; color:var(--faint); margin-top:7px;}
.foot-note{font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase; color:var(--faint); text-align:right;}
.concept-tag{position:fixed; bottom:16px; right:16px; z-index:50; background:rgba(12,14,12,0.85);
  border:1px solid var(--line); color:var(--faint); font-size:9.5px; letter-spacing:2px;
  text-transform:uppercase; padding:7px 12px; border-radius:2px; backdrop-filter:blur(6px);}
@media(max-width:600px){ .article-head{padding-top:54px;} }
