*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#F4EEE3;color:#1F3D2F;font-family:'Didact Gothic',sans-serif;font-size:19px;line-height:1.7}
a{color:#1F3D2F}a:hover{color:#B5534E}
a:focus-visible,button:focus-visible{outline:2px solid #B5534E;outline-offset:3px}
.hd{padding:14px 24px;border-bottom:1px solid #D8CDB8}
.hd-in{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px}
.logo{font-family:'Playfair Display',serif;font-style:italic;font-weight:700;font-size:26px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.logo span{font-style:normal;color:#B5534E}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 26px;font-size:16px}
.nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.nav .btn{padding:0 20px;background:#1F3D2F;color:#F4EEE3;border-radius:999px}
.nav .btn:hover{color:#F4EEE3;background:#B5534E}
main{padding:56px 24px 40px}
.wrap{max-width:740px;margin:0 auto}
.crumbs{font-size:15px;color:#3E5246;margin:0 0 20px}
.crumbs a{display:inline-flex;align-items:center;min-height:44px}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:700;line-height:1.12;letter-spacing:-0.02em;margin:0}
h1{font-size:clamp(34px,5.5vw,56px)}
h2{font-size:clamp(26px,3.6vw,34px);margin:52px 0 14px}
h3{font-size:22px;margin:30px 0 8px}
.meta{margin:18px 0 0;font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:#3E5246}
.lede{font-size:22px;color:#3E5246;margin:22px 0 0}
p{margin:0 0 18px}
ul,ol{margin:0 0 20px;padding-left:24px}
li{margin:0 0 8px}
.short{margin:32px 0 8px;background:#FFFBF3;border:2px solid #1F3D2F;border-radius:20px;padding:24px 28px;box-shadow:0 6px 0 #1F3D2F}
.short strong.k{display:block;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:#B5534E;margin-bottom:6px;font-weight:400}
.short p:last-child{margin:0}
.tbl{overflow-x:auto;margin:24px 0;border:2px solid #1F3D2F;border-radius:16px;background:#FFFBF3}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:16px;line-height:1.5}
th,td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid #D8CDB8}
th{font-family:'Playfair Display',serif;font-size:17px;background:#E9A6A1}
tr:last-child td{border-bottom:0}
.code{background:#1F3D2F;color:#F4EEE3;border-radius:16px;padding:20px 24px;margin:22px 0;font-family:'JetBrains Mono',monospace;font-size:14px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
code{font-family:'JetBrains Mono',monospace;font-size:.84em;background:#FFFBF3;border:1px solid #D8CDB8;border-radius:6px;padding:1px 6px;overflow-wrap:anywhere}
.note{font-size:16px;color:#3E5246}
.src{font-size:16px}
.src li{overflow-wrap:anywhere}
.cta{margin:56px 0 0;background:#E9A6A1;border:2px solid #1F3D2F;border-radius:28px;box-shadow:0 8px 0 #1F3D2F;padding:clamp(24px,5vw,44px)}
.cta h2{margin:0 0 10px;font-size:clamp(28px,4vw,40px)}
.cta p{margin:0 0 20px}
.cta a.go{min-height:56px;padding:0 28px;display:inline-flex;align-items:center;background:#1F3D2F;color:#F4EEE3;text-decoration:none;border-radius:14px;font-size:18px}
.cta a.go:hover{background:#B5534E;color:#F4EEE3}
.rel{margin:48px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{display:flex;flex-direction:column;gap:8px;padding:22px;background:#FFFBF3;border:2px solid #1F3D2F;border-radius:20px;text-decoration:none;color:#1F3D2F;transition:transform .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 8px 0 #1F3D2F;color:#1F3D2F}
.card b{font-family:'Playfair Display',serif;font-size:22px;line-height:1.2}
.card span{font-size:16px;color:#3E5246}
.card small{font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:#B5534E}
.list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:40px}
.relh{margin:56px 0 0;font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-family:'Didact Gothic',sans-serif;font-weight:400}
.ft{padding:28px 24px 40px;border-top:1px solid #D8CDB8}
.ft-in{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;font-size:15px;color:#3E5246}
.ft-in .brand{font-family:'Playfair Display',serif;font-style:italic;font-size:20px;color:#1F3D2F}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}.card:hover{transform:none}}
.ft-in a{display:inline-flex;align-items:center;min-height:44px}
