/* Content pages v2: author guidelines (.cp-ag), ethics (.cp-ep), contact (.cp-ct), fast track (.cp-ft). Mobile first; ijds brand tokens. */
.cp{--nv:#193452;--ac:#c8283d;--mu:#5f6b76;--line:#e3e8ef;--soft:#f5f7fa;--bd:#d5dbe3;color:#373a3c;font-size:1rem;line-height:1.6;padding-bottom:72px;overflow-x:clip}
.cp-in{max-width:1100px;margin:0 auto;padding:0 16px}
.cp h1,.cp h2{color:var(--nv);line-height:1.2}
.cp a{color:var(--nv)}
.cp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.cp-hero{background:var(--nv);color:#fff;padding:36px 0 28px}
.cp-hero h1{color:#fff;font-size:1.9rem;font-weight:700;letter-spacing:-.01em;margin:0 0 14px;max-width:20em}
.cp-kick{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:#f4b3bc;margin:0 0 10px;font-weight:600}
.cp-lead{font-size:1.1rem;max-width:36em;margin:0 0 22px;color:#e6edf5}
.cp-badge{display:inline-block;background:#fff;color:var(--nv);border-radius:20px;padding:2px 14px;font-size:1rem;margin-left:4px}
.cp-acts{margin:0;display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center}
.cp-btn{display:inline-block;min-height:48px;padding:12px 26px;background:var(--ac);color:#fff!important;border-radius:6px;font-weight:600;text-decoration:none;line-height:24px}
.cp-btn:hover{background:#a81e30}
.cp-btn-o{background:transparent;border:2px solid var(--nv);color:var(--nv)!important;padding:10px 24px}.cp-btn-o:hover{background:var(--nv);color:#fff!important}
.cp-link{display:inline-block;min-height:48px;line-height:48px;color:#fff!important;text-decoration:underline}
.cp-link-d{color:var(--nv)!important}
.cp-stats{list-style:none;margin:26px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.2);display:flex;flex-wrap:wrap;gap:10px 30px}
.cp-stats strong{display:block;font-size:1.5rem;line-height:1.1}.cp-stats span{font-size:.9rem;color:#cbd6e2}
.cp-sec{padding:28px 0;scroll-margin-top:16px}.cp-alt{background:var(--soft);padding:36px 0}
.cp-main h2,.cp-sec>h2,.cp-ftgrid h2,.cp-fgrid h2{font-size:1.4rem;margin:0 0 14px}
.cp-muted{color:var(--mu)}
/* sticky contents */
.cp-cols{display:block;padding-top:8px}
.cp-toc ol{margin:0;padding:6px 0 0 20px}.cp-toc a{display:block;min-height:44px;line-height:44px;text-decoration:none}
.cp-toc summary{min-height:48px;line-height:48px;font-weight:700;color:var(--nv);cursor:pointer;border-bottom:1px solid var(--line)}
/* checklist, steps, callouts, downloads */
.cp-check{list-style:none;margin:0 0 8px;padding:0;display:grid;gap:12px}
.cp-check li{position:relative;padding-left:34px}
.cp-check li::before{content:"";position:absolute;left:0;top:.15em;width:22px;height:22px;border-radius:5px;border:2px solid var(--nv);background:#fff}
.cp-check li::after{content:"";position:absolute;left:6px;top:.45em;width:10px;height:5px;border-left:2px solid var(--ac);border-bottom:2px solid var(--ac);transform:rotate(-45deg)}
.cp-steps{list-style:none;counter-reset:s;margin:0 0 8px;padding:0}
.cp-steps li{counter-increment:s;position:relative;padding:0 0 20px 54px}.cp-steps li:last-child{padding-bottom:0}
.cp-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;background:var(--nv);color:#fff;font-weight:700;line-height:38px;text-align:center}
.cp-steps li::after{content:"";position:absolute;left:18px;top:42px;bottom:4px;width:2px;background:var(--bd)}.cp-steps li:last-child::after{display:none}
.cp-steps b{display:block;color:var(--nv);font-size:1.05rem}
.cp-call{border-left:5px solid var(--nv);background:var(--soft);padding:16px 18px;border-radius:0 8px 8px 0;margin:0 0 12px}
.cp-call-warn{border-color:var(--ac);background:#fdf1f3}.cp-call-note{font-size:.95rem}
.cp-dl{display:grid;gap:12px}
.cp-dlc{display:block;min-height:64px;padding:14px 18px;border:2px solid var(--nv);border-radius:8px;text-decoration:none}
.cp-dlc b{display:block;color:var(--nv)}.cp-dlc span{color:var(--mu);font-size:.9rem}.cp-dlc:hover{background:var(--soft)}
.cp-end{margin-top:12px;padding:26px 18px;background:var(--soft);border-radius:10px}.cp-end h2{margin-top:0}
.cp-sticky{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;min-height:48px;line-height:24px;padding:12px;text-align:center;background:var(--ac);color:#fff!important;border-radius:8px;font-weight:600;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.cp-sticky-wa{background:#1a7f4b}
/* ethics */
.cp-glance{background:var(--soft);padding:20px 0}
.cp-gl{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cp-gl a{display:block;min-height:64px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--ac);border-radius:8px;text-decoration:none;color:#373a3c}
.cp-gl b{display:block;color:var(--nv)}.cp-gl span{font-size:.95rem}
.cp-acc{border:1px solid var(--line);border-radius:8px;margin:0 0 12px;background:#fff;scroll-margin-top:16px}
.cp-acc summary{list-style:none;cursor:pointer;min-height:56px;padding:12px 48px 12px 16px;position:relative;display:flex;align-items:center}
.cp-acc summary::-webkit-details-marker{display:none}
.cp-acc summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.6rem;color:var(--ac);line-height:1}
.cp-acc[open] summary::after{content:"\2212"}
.cp-acc summary h2{margin:0;font-size:1.2rem}
.cp-prose{padding:0 16px 16px;overflow-wrap:anywhere}.cp-prose h4,.cp-prose h5{color:var(--nv);margin:18px 0 6px;font-size:1.05rem}
.cp-prose ul{padding-left:20px}.cp-intro{padding-top:12px}
/* contact */
.cp-chan{margin-top:-20px}.cp-chan .cp-in{display:grid;gap:12px}
.cp-ch{display:block;min-height:88px;background:#fff;border:1px solid var(--line);border-left:5px solid var(--nv);border-radius:8px;padding:16px 18px;text-decoration:none;box-shadow:0 4px 14px rgba(25,52,82,.1);color:#373a3c!important}
.cp-ch b{display:block;color:var(--nv);font-size:1.1rem}.cp-ch span{display:block;overflow-wrap:anywhere}.cp-ch i{font-style:normal;color:var(--ac);font-weight:600}
.cp-ch-wa{border-left-color:#1a7f4b}
.cp-fgrid{display:grid;gap:24px}
.cp-form{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px 16px}
.cp-form .wpcf7 input[type=text],.cp-form .wpcf7 input[type=email],.cp-form .wpcf7 input[type=tel],.cp-form .wpcf7 select,.cp-form .wpcf7 textarea{display:block;width:100%;max-width:100%;min-height:48px;margin-top:6px;padding:10px 12px;border:1px solid var(--bd);border-radius:6px;font:inherit;font-size:16px;box-sizing:border-box}
.cp-form .wpcf7 textarea{min-height:120px}
.cp-form .wpcf7 label{display:block;font-weight:600;width:100%}
.cp-form .wpcf7 [class*=col],.cp-form .wpcf7 .row>*{width:100%;float:none;max-width:100%}
.cp-form .wpcf7-submit{min-height:48px;padding:11px 28px;border:0;border-radius:6px;background:var(--ac);color:#fff;font-weight:600;cursor:pointer}
.cp-form .wpcf7-not-valid-tip{color:#a81e30;font-size:.85rem}
/* fast track */
.cp-ftgrid{display:grid;gap:28px}
.cp-ft .cp-need{background:var(--soft);border-radius:10px;padding:20px 18px;align-self:start}
.cp-ft .cp-tl li{padding-bottom:24px}.cp-ft .cp-tl li::before{background:var(--ac)}
@media(min-width:768px){
.cp{padding-bottom:0}.cp-sticky{display:none}.cp-in{padding:0 24px}
.cp-hero{padding:64px 0 48px}.cp-hero h1{font-size:2.8rem}
.cp-gl{grid-template-columns:repeat(4,1fr)}
.cp-chan .cp-in{grid-template-columns:repeat(3,1fr)}.cp-chan{margin-top:-28px}
.cp-fgrid{grid-template-columns:1fr 1.4fr;gap:44px;align-items:start}.cp-form{padding:28px}
.cp-ftgrid{grid-template-columns:1.5fr 1fr;gap:48px}
.cp-dl{grid-template-columns:1fr 1fr}
}
@media(min-width:960px){
.cp-cols{display:grid;grid-template-columns:250px 1fr;gap:48px;align-items:start;padding-top:32px}
.cp-side{position:sticky;top:16px;align-self:start}
.cp-toc summary{pointer-events:none;border:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--mu);min-height:32px;line-height:32px}
.cp-toc ol{list-style:none;padding:0;border-left:2px solid var(--line)}.cp-toc a{padding-left:14px;min-height:40px;line-height:40px;font-size:.95rem}
.cp-toc a:hover{color:var(--ac);box-shadow:inset 3px 0 0 var(--ac)}
.cp-sec{padding:20px 0 28px}
}
@media(prefers-reduced-motion:reduce){.cp *{transition:none!important;scroll-behavior:auto}}
