:root{--ink:#263b35;--paper:#f8f1df;--clay:#a85a43;--gold:#c49a50;--line:#d9cab0}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 90% 5%,#ecd8a7 0,transparent 30%),var(--paper);color:var(--ink);font:17px/1.8 Georgia,"Noto Serif TC","Noto Serif JP",serif}.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:white;padding:.5rem;z-index:4}.top{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem max(5vw,1.2rem);border-bottom:1px solid var(--line)}.top a{color:inherit;text-decoration:none;font-weight:700}.top small{color:#765e43}.hero,.page{max-width:1120px;margin:auto}.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;padding:clamp(3rem,8vw,7rem) max(5vw,1.2rem) 3rem;align-items:center}.eyebrow{color:#8d4938;font-weight:bold;letter-spacing:.12em;font-size:.78rem}.hero h1{font-size:clamp(2.4rem,7vw,5rem);line-height:1.1;margin:.25rem 0}.hero h1 em{display:block;color:var(--clay);font-style:normal}.lead{font-size:1.15rem}.hero-art{min-height:330px;border-radius:44% 56% 42% 58%;background:linear-gradient(140deg,#293f36,#56755c 45%,#d89a52);position:relative;overflow:hidden;box-shadow:20px 22px 0 #e5cf9d}.hero-art:before,.hero-art:after{content:"";position:absolute;border-radius:50%;background:#f6e5ba99}.hero-art:before{width:260px;height:260px;top:-60px;right:-60px}.hero-art:after{width:200px;height:200px;bottom:-70px;left:-30px}.hero-art b{position:absolute;inset:0;display:grid;place-items:center;color:#fff8df;font-size:5rem;transform:rotate(-9deg);text-shadow:2px 3px #9e513b}.hero-art span{position:absolute;bottom:22%;left:14%;width:70%;border-top:3px solid #eec675;transform:rotate(-16deg)}.page{padding:0 max(5vw,1.2rem) 5rem}.section{padding:3rem 0;border-top:1px solid var(--line)}h2{font-size:clamp(1.6rem,4vw,2.6rem);line-height:1.3}.cards,.questions{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card,.question{background:#fffcf4cc;border:1px solid var(--line);border-radius:16px;padding:1.2rem}.card b{color:var(--clay)}.question{border-top:4px solid var(--gold)}.matrix{width:100%;border-collapse:collapse;background:#fffaf0}.matrix th,.matrix td{padding:.85rem;text-align:left;border:1px solid var(--line);vertical-align:top}.note{background:#ede0c5;border-left:5px solid var(--clay);padding:1rem 1.2rem}.sources a{color:#7e392e}.foot{padding:2rem 5vw;background:#263b35;color:#fff7e6;text-align:center}@media(max-width:720px){.hero{grid-template-columns:1fr;gap:1.5rem}.cards,.questions{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}.hero-art{min-height:240px}.matrix{font-size:.88rem}.matrix th,.matrix td{padding:.55rem}}.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}.hero-art b,.hero-art span{z-index:2}.hero-art:before,.hero-art:after{z-index:1}.hero-art{background:#315743}.section,.card,.question,.matrix{background:rgba(255,250,240,.76);backdrop-filter:blur(7px)}body:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(rgba(248,241,223,.72),rgba(248,241,223,.84)),url('/child-advocacy-site/assets/art/family-preservation-ink-autumn-20260915.png') center/cover no-repeat;opacity:.32}.hero-art{border:10px solid rgba(255,250,235,.52)}.hero-art img{filter:saturate(1.22) contrast(1.05)}.hero-art:after{background:radial-gradient(circle,#d75d3b99 0 9%,transparent 10%),radial-gradient(circle at 70% 30%,#ddb44c99 0 7%,transparent 8%),radial-gradient(circle at 22% 70%,#46765c99 0 8%,transparent 9%);opacity:.82}.section:before{content:"";display:block;height:2px;width:84px;background:linear-gradient(90deg,#c44c35,#e2a13c,#315e50);margin-bottom:1.4rem}
.case-intro{background:rgba(255,250,240,.58);padding-left:1.25rem;padding-right:1.25rem;border-radius:18px}.case-file{position:relative}.case-file h3{font-size:1.05rem;color:var(--clay);margin:1.1rem 0 .2rem}.case-file h3:first-child{margin-top:0}.case-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.9fr);gap:1.4rem;align-items:start}.timeline{margin:0;padding:1.1rem 1.1rem 1.1rem 2.7rem;list-style:none;background:rgba(255,252,244,.68);border:1px solid var(--line);border-radius:16px;position:relative}.timeline:before{content:"";position:absolute;left:1.2rem;top:1.5rem;bottom:1.5rem;width:2px;background:linear-gradient(var(--clay),var(--gold),#315e50)}.timeline li{position:relative;padding:0 0 1.05rem .2rem}.timeline li:last-child{padding-bottom:0}.timeline li:before{content:"";position:absolute;width:.68rem;height:.68rem;left:-1.85rem;top:.44rem;border-radius:50%;background:var(--clay);border:3px solid #f8f1df}.timeline time{display:block;color:#765e43;font-weight:700;font-size:.88rem;letter-spacing:.04em}.timeline span{display:block}.source-line{font-size:.9rem;color:#765e43;margin:.9rem 0 0}.source-line a{color:#7e392e;font-weight:700}@media(max-width:720px){.case-grid{grid-template-columns:1fr}.timeline{font-size:.94rem}}

.regional-comparison{background:rgba(255,250,240,.68);padding:clamp(1.3rem,4vw,3rem);border-radius:22px}.region-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:.65rem;margin:1.4rem 0}.region-summary div{padding:1rem;border:1px solid var(--line);border-radius:14px;background:rgba(255,252,244,.72)}.region-summary b{display:block;color:var(--clay)}.region-summary span{font-size:.86rem;line-height:1.5;display:block;margin-top:.25rem}.case-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.case-index article{padding:1.1rem 1.2rem;background:rgba(255,252,244,.7);border:1px solid var(--line);border-radius:16px}.case-index h3{margin:0;color:var(--clay);font-size:1.05rem}.case-index ol{padding-left:1.35rem;margin:.65rem 0 0}.case-index li{padding:.4rem 0}.case-index li::marker{color:var(--gold);font-weight:700}.case-index span{display:block;font-size:.91rem;color:#554a3e}@media(max-width:850px){.region-summary{grid-template-columns:repeat(2,1fr)}.case-index{grid-template-columns:1fr}}@media(max-width:420px){.region-summary{grid-template-columns:1fr}}

.real-case-notes{background:linear-gradient(135deg,rgba(254,248,230,.84),rgba(238,219,178,.56));padding:clamp(1.3rem,4vw,3rem);border-radius:22px}.real-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.real-case-grid article{padding:1.2rem;border-radius:16px;border:1px solid rgba(169,117,68,.36);background:rgba(255,252,244,.78);box-shadow:0 8px 24px rgba(73,58,35,.06)}.real-case-grid h3{font-size:1.15rem;line-height:1.35;color:var(--clay);margin:0 0 .65rem}.real-case-grid p{margin:.55rem 0}.real-case-grid a{color:#7e392e;font-weight:700}@media(max-width:720px){.real-case-grid{grid-template-columns:1fr}.real-case-notes{padding:1.1rem}}

/* 24-case reading rhythm + highlighter emphasis */
.case-file{padding-block:clamp(2.6rem,6vw,5rem);scroll-margin-top:5rem}.case-file>.eyebrow{display:flex;align-items:center;gap:.55rem}.case-file>.eyebrow::after{content:attr(data-case-tag);font-size:.68rem;letter-spacing:.08em;color:#6c6955;background:rgba(196,154,80,.16);border:1px solid rgba(196,154,80,.42);padding:.12rem .48rem;border-radius:999px}.case-file h2{max-width:26ch;margin-bottom:1.35rem}.case-file h3{display:table;padding-inline:.12rem;background:linear-gradient(transparent 58%,rgba(244,202,88,.48) 58%,rgba(244,202,88,.48) 91%,transparent 91%);font-weight:800}.case-file p{max-width:68ch}.case-file p b{font-weight:800;background:linear-gradient(transparent 58%,rgba(252,199,90,.52) 58%,rgba(252,199,90,.52) 92%,transparent 92%);padding-inline:.06em}.case-file p:not(.source-line){text-wrap:pretty}.case-file .timeline{box-shadow:0 14px 28px rgba(74,52,24,.07);position:sticky;top:1.25rem}.case-file .timeline li{transition:color .25s ease,opacity .25s ease}.case-file .timeline li.is-active{color:#5f291f}.case-file .timeline li.is-active:before{background:#d15a3e;box-shadow:0 0 0 5px rgba(209,90,62,.14)}.case-file:nth-of-type(4n+1){border-top-color:#c69b56}.case-file:nth-of-type(4n+2){border-top-color:#7f9c78}.case-file:nth-of-type(4n+3){border-top-color:#c98069}.case-file:nth-of-type(4n){border-top-color:#9b8262}.case-file:focus-within{outline:2px solid rgba(196,154,80,.5);outline-offset:.45rem;border-radius:1rem}@media(max-width:720px){.case-file{padding-block:2.35rem}.case-file h2{max-width:none}.case-file .timeline{position:relative;top:auto;margin-top:.4rem}.case-file>.eyebrow::after{content:attr(data-case-tag)}}@media(prefers-reduced-motion:reduce){.case-file *{transition:none!important;animation:none!important}.case-file{will-change:auto!important}}
