/* Ryan Cadwell — Paper white + forest green, RC stacked seal */
:root{
  --bg:#F7F5F0;        /* paper white */
  --ink:#171512;       /* near-black ink */
  --lime:#1E4D2B;      /* forest green accent (var name kept for compatibility) */
  --green-on-dark:#9DC88D; /* readable green on dark sections */
  --line:#E4E0D7;
  --line-2:#D8D3C8;
  --line-3:#C7C1B4;
  --mut:#6B675E;
  --mut-2:#57534A;
  --mut-3:#8A857A;
  --body-max:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Archivo',system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--body-max);margin:0 auto;padding:0 24px}
@media(min-width:900px){.wrap{padding:0 52px}}

/* seal */
.seal{width:44px;height:44px;border:2px solid var(--ink);border-radius:9px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--ink)}
.seal span{font-weight:900;font-size:22px;letter-spacing:-0.05em;line-height:.78;color:var(--bg)}
.seal span b{color:var(--green-on-dark);font-weight:900}

/* nav */
.nav{border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px}
.nav-links{display:flex;gap:18px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);flex-wrap:wrap}
@media(min-width:700px){.nav-links{gap:32px;font-size:13px}}
.nav-links a:hover,.nav-links a.active{color:var(--lime)}

/* hero */
.hero{position:relative;overflow:hidden;padding:64px 0 64px}
@media(min-width:900px){.hero{padding:84px 0 80px}}
.kicker{font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--lime);margin-bottom:24px}
@media(min-width:900px){.kicker{font-size:13px;margin-bottom:28px}}
h1.display{font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(52px,9.5vw,104px);line-height:.92;letter-spacing:.005em;text-transform:uppercase;margin:0 0 30px}
h1.display .g{color:var(--lime)}
.lede{font-size:clamp(17px,2.2vw,21px);line-height:1.55;color:var(--mut-2);max-width:640px;margin:0 0 40px}
.lede .g{color:var(--lime);font-weight:700}
.btns{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;height:54px;padding:0 30px;background:var(--lime);color:var(--bg);font-size:14px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;transition:transform .12s ease}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;border:1.5px solid var(--line-3);color:var(--ink);font-weight:700;padding:0 28px}
.btn.ghost:hover{border-color:var(--lime);color:var(--lime)}

/* numbered sections */
.sec{border-top:1px solid var(--line);padding:56px 0}
@media(min-width:900px){.sec{padding:60px 0}}
.sec-grid{display:grid;grid-template-columns:1fr;gap:28px}
@media(min-width:900px){.sec-grid{grid-template-columns:200px 1fr;gap:48px}}
.sec-num{font-family:'Anton',sans-serif;font-size:34px;line-height:.95;text-transform:uppercase;color:var(--line-3)}
@media(min-width:900px){.sec-num{font-size:40px}}
.sec p.big{font-size:clamp(19px,2.5vw,24px);line-height:1.5;color:#2B2822;margin:0 0 20px}
.sec p{font-size:17px;line-height:1.6;color:var(--mut);margin:0 0 16px}
@media(min-width:900px){.sec p{font-size:18px}}
.sec a.more{display:inline-flex;align-items:center;gap:8px;color:var(--lime);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-top:8px}
.sec a.more:hover{text-decoration:underline}

/* eyebrow label */
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--mut-3);margin-bottom:26px}
@media(min-width:900px){.eyebrow{font-size:13px}}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:12px}
.chip{font-family:'Anton',sans-serif;font-size:clamp(18px,2.6vw,26px);letter-spacing:.04em;text-transform:uppercase;padding:10px 20px;border:1.5px solid var(--line-2);color:#2B2822}
.chip.hot{background:var(--lime);color:var(--bg);border-color:var(--lime)}

/* engagements teaser */
.eng{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
@media(min-width:900px){.eng{grid-template-columns:repeat(3,1fr)}}
.eng a{background:var(--bg);padding:28px 24px;transition:background .15s ease}
.eng a:hover{background:#EFECE3}
.eng h3{font-family:'Anton',sans-serif;font-weight:400;font-size:22px;letter-spacing:.03em;text-transform:uppercase;margin-bottom:10px;color:var(--ink)}
.eng p{font-size:15px;line-height:1.55;color:var(--mut)}
.eng .price{display:block;margin-top:14px;color:var(--lime);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}

/* inverted (dark ink) section */
.invert{background:var(--ink);color:var(--bg)}
.invert .sec-num{color:#3A362F}
.invert p{color:#C9C4B8}
.invert p.big{color:var(--bg)}
.invert .eyebrow{color:#A8A296}
h2.display{font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(34px,5vw,56px);line-height:.95;letter-spacing:.01em;text-transform:uppercase;margin:0 0 18px}
h2.display .g{color:var(--lime)}
.invert h2.display .g{color:var(--green-on-dark)}

/* newsletter form */
.nl-form{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.nl-form input{height:54px;padding:0 18px;font-size:16px;font-family:inherit;border:1.5px solid #4A463E;background:#fff;color:var(--ink);min-width:min(320px,100%)}
.nl-form input:focus{outline:2px solid var(--green-on-dark)}
.nl-form .btn{border:none;cursor:pointer;font-family:inherit}
.invert .btn{background:var(--green-on-dark);color:var(--ink)}

/* footer */
footer{border-top:1px solid var(--line);padding:44px 0 60px}
footer .wrap{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;font-size:14px;color:var(--mut-3)}
footer a:hover{color:var(--lime)}

/* prose pages (about / work with me / reading) */
.page-head{padding:36px 0 24px}
.prose{max-width:760px;padding-bottom:72px}
.prose h2{font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(24px,3.4vw,34px);letter-spacing:.03em;text-transform:uppercase;margin:44px 0 16px;color:var(--ink)}
.prose h2:first-child{margin-top:0}
.prose p{font-size:17.5px;line-height:1.7;color:var(--mut-2);margin:0 0 18px}
.prose strong{color:var(--ink)}
.prose a{color:var(--lime)}
.prose a:hover{text-decoration:underline}
.prose ul{margin:0 0 18px 20px;color:var(--mut-2);line-height:1.7}
.prose .price{color:var(--lime);font-weight:700}
.portrait{float:right;width:min(230px,42%);margin:4px 0 18px 22px;border-radius:12px}
.rule{border:none;border-top:1px solid var(--line);margin:40px 0}
