
:root{--ink:#29241f;--orange:#e56a0a;--paper:#fffefa;--cream:#f4eee5;--line:#ded3c5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#eee7dc;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:#a54b07;text-underline-offset:3px}header{background:#242220;color:#fff;padding:14px 20px;position:sticky;top:0;z-index:10}
.head-inner{max-width:950px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px}
.head-inner a{color:#fff;text-decoration:none;font-weight:750}.head-inner .brand{font-family:Georgia,serif;font-size:21px}.head-inner nav{display:flex;gap:20px;font-size:14px}
main{max-width:950px;margin:25px auto 45px;background:var(--paper);border:1px solid var(--line);border-radius:19px;overflow:hidden;box-shadow:0 15px 50px #362b1b15}
.article-heading{padding:clamp(24px,5vw,57px) clamp(22px,5vw,75px) 27px}
.kicker{color:#a94d08;font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:850}
h1,h2,h3{font-family:Georgia,serif;letter-spacing:-.025em}h1{font-size:clamp(34px,5vw,52px);font-weight:500;line-height:1.14;margin:12px 0}h2{font-size:30px;font-weight:550;margin:37px 0 10px}h3{font-size:21px;margin:27px 0 10px}
p,li{font-size:17px;line-height:1.78;color:#4e473f}p{margin:0 0 20px}ul,ol{padding-left:25px;margin:10px 0 24px}li+li{margin-top:7px}
.lede{font-size:21px;color:#50473f;line-height:1.65}.byline{color:#81776b;font-size:13px;margin:15px 0 0}
.hero{display:block;width:100%;max-height:445px;object-fit:contain;background:#eae1d4}
.article-body{padding:30px clamp(22px,5vw,75px) 48px;max-width:950px}
.article-body strong{color:#35302a}.tip{padding:20px 24px;margin:25px 0;background:#f9efe2;border-left:4px solid var(--orange);border-radius:8px;color:#4b3a2a}.tip p{margin:0}
.pattern-example{background:#f5efe7;border:1px solid #e9d6bf;padding:17px 20px;border-radius:12px;font-weight:750;margin:18px 0 25px;color:#38312b;line-height:1.6}
.cta{display:inline-block;text-decoration:none;border-radius:10px;background:var(--orange);padding:13px 18px;color:#fff;font-weight:800;margin:10px 0 25px}
.article-end{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}footer{padding:25px;text-align:center;font-size:12px;color:#82776c}
@media(max-width:560px){header{padding:14px 12px}.head-inner .brand{font-size:16px}.head-inner nav{gap:9px;font-size:12px}.article-heading{padding-bottom:21px}.hero{max-height:340px}p,li{font-size:16px}}
