.col-wrap{max-width:1080px;margin:auto;padding:56px 24px 72px}
.col-head{text-align:center;margin-bottom:28px}
.col-head h1{font:500 clamp(26px,3vw,36px)/1.5 var(--serif);letter-spacing:.06em;margin:4px 0 10px}
.col-head p.lead{max-width:560px;margin:0 auto;color:var(--muted);font:15px/1.9 var(--serif)}
.col-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 36px;padding:0;list-style:none}
.col-tabs a{display:inline-block;padding:8px 18px;border:1px solid var(--line);border-radius:30px;font-size:14px;color:var(--ink);background:#fff}
.col-tabs a small{margin-left:6px;color:var(--muted);font-size:12px}
.col-tabs a.is-active{background:var(--green);border-color:var(--green);color:#fff}
.col-tabs a.is-active small{color:#d6e5df}
.col-desc{text-align:center;color:var(--muted);font:14px/1.8 var(--serif);margin:-18px 0 30px}
.col-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;list-style:none;margin:0;padding:0}
.col-card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 3px 12px #31423c0c;transition:transform .2s,box-shadow .2s}
.col-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #31423c18}
.col-card>a{display:flex;flex-direction:column;height:100%}
.col-card-img{aspect-ratio:16/10;background:var(--pink-light);overflow:hidden}
.col-card-img img{display:block;width:100%;height:100%;object-fit:cover}
.col-card-noimg{display:grid;place-items:center;height:100%;color:#e9b9c5;font-size:36px}
.col-card-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.col-meta{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}
.col-badge{display:inline-block;padding:2px 10px;border-radius:20px;background:var(--pink-light);color:var(--pink);font-size:12px;font-weight:600}
.col-card h2,.col-card h3{font:600 17px/1.6 var(--serif);margin:0}
.col-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.col-empty{text-align:center;color:var(--muted);padding:48px 0;grid-column:1/-1}
.col-pager{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:40px;font-size:14px}
.col-pager a{padding:8px 20px;border:1px solid var(--green);border-radius:30px;color:var(--green)}
.col-pager span{color:var(--muted)}
.col-back{display:block;text-align:center;margin-top:40px;color:var(--green);text-decoration:underline;text-underline-offset:3px}
.col-article{max-width:780px;margin:auto;padding:48px 24px 64px}
.col-crumb{font-size:13px;color:var(--muted);margin-bottom:18px}
.col-crumb a{text-decoration:underline;text-underline-offset:3px}
.col-article h1{font:500 clamp(24px,3vw,32px)/1.6 var(--serif);margin:12px 0 8px}
.col-article .col-meta{margin-bottom:26px}
.col-body{line-height:2;font-size:17px;overflow-wrap:anywhere}
.col-body p{margin:1.3em 0}
.col-body h2,.col-body h3{font:600 1.3rem/1.6 var(--serif);margin:2.2em 0 1em;padding-bottom:.4em;border-bottom:1px solid var(--line)}
.col-body img{display:block;max-width:100%;height:auto;margin:1.8em auto;border-radius:4px;border:1px solid var(--line)}
.col-body iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;margin:1.8em 0;border-radius:4px}
.col-body ul,.col-body ol{padding-left:1.4em}
.col-note{margin-top:36px;padding:16px 20px;background:var(--cream);border-left:3px solid var(--pink);color:var(--muted);font-size:14px;line-height:1.8}
.col-related{margin-top:56px}
.col-related h2{font:500 22px var(--serif);text-align:center;margin:0 0 22px}
.col-related .col-grid{grid-template-columns:repeat(3,1fr);gap:18px}
.col-cta{margin-top:48px;padding:26px 24px;background:var(--pink-light);border-radius:6px;text-align:center}
.col-cta p{margin:0 0 14px;font:16px/1.8 var(--serif)}
@media(max-width:860px){.col-grid,.col-related .col-grid{grid-template-columns:repeat(2,1fr);gap:16px}}
@media(max-width:560px){.col-wrap{padding:36px 16px 56px}.col-grid,.col-related .col-grid{grid-template-columns:1fr}.col-body{font-size:16px}.col-article{padding:32px 18px 48px}}
.home-columns{max-width:1080px;padding-top:56px;padding-bottom:56px}
