/* shared styles for /column/ articles */
/* ===== column article ===== */
.col-hero{position:relative;z-index:3;padding:150px 0 40px}
.col-hero .crumb{display:block;font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.14em;color:var(--muted)}
.col-hero .crumb a{color:var(--muted)}
.col-cat{display:inline-block;margin:26px 0 18px;font-size:11px;font-weight:700;letter-spacing:.12em;color:#fff;background:var(--grad);padding:6px 12px;border-radius:2px}
.col-title{font-weight:900;font-size:clamp(26px,4.2vw,44px);line-height:1.35;letter-spacing:-.01em;max-width:880px}
.col-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;font-size:12.5px;color:var(--muted)}
.col-meta b{color:var(--ink);font-weight:700}
.eyecatch{position:relative;margin:34px 0 0;aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:#15131a var(--eyecatch-img,none) center/cover no-repeat}
.eyecatch::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,10,16,.86) 0%,rgba(12,10,16,.55) 48%,rgba(12,10,16,.05) 100%)}
.eyecatch-in{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 7%;color:#fff;max-width:68%}
.eyecatch-k{font-family:"Space Mono",monospace;font-size:clamp(9px,1.1vw,12px);letter-spacing:.3em;margin-bottom:clamp(10px,1.6vw,18px);background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}
.eyecatch-t{font-weight:900;font-size:clamp(20px,3.6vw,40px);line-height:1.35;letter-spacing:.01em}
.eyecatch-t span{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.eyecatch-s{margin-top:clamp(10px,1.6vw,18px);font-size:clamp(11px,1.5vw,16px);font-weight:500;color:rgba(255,255,255,.88);padding-top:clamp(8px,1.2vw,14px);border-top:1px solid rgba(255,255,255,.3);display:inline-block}
.eyecatch-b{position:absolute;right:3.5%;bottom:6%;display:flex;align-items:center;gap:8px;font-family:"Space Grotesk",sans-serif;font-weight:700;letter-spacing:.16em;font-size:clamp(9px,1.1vw,12px);color:rgba(255,255,255,.85)}
.eyecatch-b img{width:clamp(16px,2vw,22px)}
@media (max-width:760px){.eyecatch{aspect-ratio:4/3}.eyecatch-in{max-width:86%}}
.col-body{position:relative;z-index:3;padding:10px 0 90px}
.col-body .wrap{max-width:820px}
.col-body p{font-size:16px;line-height:2.05;margin:0 0 1.4em;color:var(--ink)}
.col-body h2{font-weight:700;font-size:clamp(19px,2.5vw,24px);line-height:1.55;margin:80px 0 28px;padding:14px 18px 14px 36px;background:#F0EFEC;border-radius:3px;position:relative}
.col-body h2::before{content:"";position:absolute;left:0;top:0;bottom:0;width:18px;background:var(--ink);border-radius:3px 0 0 3px}
.h2-img{margin:-6px 0 34px}
.h2-img img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:2px}
.h2-img .ph-img{width:100%;aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:linear-gradient(135deg,#ECEAE4,#F7F5F0);border:1px dashed var(--muted2);border-radius:2px;color:var(--muted);font-size:13px;text-align:center;padding:20px}
.h2-img .ph-img b{color:var(--ink);font-size:14px}
.shot-sp{max-width:360px;margin:10px auto 8px}
.shot-sp img{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:10px}
.shot-sp figcaption{margin-top:8px;text-align:center}
.col-body h3{font-weight:700;font-size:19px;line-height:1.6;margin:46px 0 16px;padding-left:14px;border-left:3px solid var(--p)}
.col-body ul,.col-body ol{margin:0 0 1.6em 1.3em;font-size:15.5px;line-height:1.95}
.col-body li{margin-bottom:.4em}
.col-body strong{font-weight:700;background:linear-gradient(transparent 62%,rgba(255,95,141,.18) 62%)}
.col-body a.in{color:var(--v);text-decoration:underline;text-underline-offset:3px}
.box{border:1px solid var(--line);background:var(--bg2);border-radius:4px;padding:28px 30px;margin:0 0 36px}
.box-k{font-family:"Space Mono",monospace;font-size:11px;letter-spacing:.24em;color:var(--v);margin-bottom:12px}
.box.sum{background:radial-gradient(120% 160% at 0% 0%,rgba(160,98,255,.10),transparent 55%),var(--bg2)}
.box.sum p{margin:0 0 .6em;font-size:15.5px}
.box ol,.box ul{margin-bottom:0}
.toc ol{counter-reset:t;list-style:none;margin:0}
.toc li{counter-increment:t;padding:6px 0;border-bottom:1px dashed var(--line2)}
.toc li::before{content:counter(t,decimal-leading-zero);font-family:"Space Mono",monospace;font-size:11px;color:var(--muted2);margin-right:12px}
.toc a{color:var(--ink)}
.shot{margin:10px 0 34px;border:1px dashed var(--muted2);border-radius:4px;padding:40px 24px;text-align:center;color:var(--muted);font-size:13px;background:var(--panel)}
.shot b{display:block;color:var(--ink);font-size:14px;margin-bottom:6px}
figcaption{font-size:12px;color:var(--muted);margin-top:10px}
.tbl{width:100%;border-collapse:collapse;margin:0 0 34px;font-size:14.5px;background:var(--bg2)}
.tbl th,.tbl td{border:1px solid var(--line);padding:13px 14px;text-align:left;vertical-align:top;line-height:1.75}
.tbl th{background:var(--panel);font-weight:700;white-space:nowrap}
.tbl-scroll{overflow-x:auto}
.step{display:flex;gap:18px;margin:40px 0 14px;align-items:flex-start}
.step-n{flex:0 0 auto;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:13px;letter-spacing:.08em;color:#fff;background:var(--ink);border-radius:2px;padding:6px 10px;margin-top:4px}
.step h3{margin:0;border:0;padding:0;font-size:20px}
.chk{list-style:none!important;margin-left:0!important}
.chk li{padding-left:28px;position:relative}
.chk li::before{content:"";position:absolute;left:2px;top:.55em;width:14px;height:14px;border:1.5px solid var(--v);border-radius:2px}
.note{font-size:13px!important;color:var(--muted)!important;line-height:1.9!important}
.ng li::marker{content:"✕  ";color:var(--p)}
.voice{border-left:3px solid var(--o);background:var(--bg2);padding:20px 24px;margin:0 0 34px;font-size:15px;line-height:1.95}
.voice .who{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;font-weight:700}
.faq dt{font-weight:700;font-size:16px;margin-top:26px;padding-left:34px;position:relative;line-height:1.7}
.faq dt::before{content:"Q";position:absolute;left:0;top:-1px;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:20px;color:var(--p)}
.faq dd{margin:10px 0 0;padding:0 0 22px 34px;border-bottom:1px solid var(--line2);font-size:15px;line-height:1.95;position:relative}
.faq dd::before{content:"A";position:absolute;left:0;top:-3px;font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:20px;color:var(--b)}
.col-cta{margin-top:70px;border:1px solid var(--line);border-radius:4px;padding:44px 36px;background:radial-gradient(110% 150% at 12% 0%,rgba(255,95,141,.12),transparent 55%),var(--bg2)}
.col-cta h2{margin:0 0 14px!important;border:0!important;padding:0!important;font-size:24px!important}
.col-cta h2::after,.col-cta h2::before{display:none}
.col-cta h2{background:none!important;border-radius:0!important;font-weight:900!important;line-height:1.5!important}
.col-cta-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.col-cta-links a{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:2px;font-weight:700;font-size:14px}
.col-cta-links .p{background:var(--ink);color:#fff}
.col-cta-links .g{border:1px solid var(--line);color:var(--ink);background:var(--bg)}
.author{display:flex;gap:20px;align-items:flex-start;margin-top:50px;padding:26px 28px;border:1px solid var(--line);border-radius:4px;background:var(--bg2)}
.author img{width:64px;height:64px;border-radius:50%;border:1px solid var(--line);background:#fff;object-fit:contain;padding:8px}
.author .k{font-family:"Space Mono",monospace;font-size:10.5px;letter-spacing:.2em;color:var(--muted)}
.author .n{font-weight:900;font-size:17px;margin:4px 0 8px}
.author p{font-size:13.5px!important;line-height:1.9!important;margin:0!important;color:var(--muted)!important}
.refs{margin-top:40px}
.refs li{font-size:12.5px;color:var(--muted);line-height:1.8}
.refs a{color:var(--muted);text-decoration:underline}
@media (max-width:760px){
  .col-hero{padding:120px 0 30px}
  .col-body p{font-size:15.5px}
  .box{padding:22px 20px}
  .col-cta{padding:32px 22px}
  .author{flex-direction:column}
}

/* shared: feature cards & mid CTA */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 34px;list-style:none!important;margin-left:0!important}
.feat li{border:1px solid var(--line);background:var(--bg2);border-radius:4px;padding:16px 18px;font-size:14.5px;line-height:1.8;margin:0!important}
.feat li b{display:block;font-size:15.5px;margin-bottom:4px}
.mid-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border-radius:4px;padding:22px 26px;margin:10px 0 34px;background:var(--ink);color:#fff}
.mid-cta p{margin:0!important;color:#fff!important;font-size:15px!important;line-height:1.8!important}
.mid-cta p b{font-size:17px}
.mid-cta a{flex:0 0 auto;background:var(--grad);color:#fff;font-weight:800;font-size:14px;padding:13px 22px;border-radius:999px}
@media (max-width:760px){.feat{grid-template-columns:1fr}}

/* light (fresh/business) eyecatch variant */
.eyecatch.light{background-color:#EEF2F7}
.eyecatch.light::before{background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 46%,rgba(255,255,255,0) 78%)}
.eyecatch.light .eyecatch-in{color:var(--ink)}
.eyecatch.light .eyecatch-s{color:var(--muted);border-top-color:rgba(20,22,28,.18)}
.eyecatch.light .eyecatch-b{color:var(--ink)}
