/* Five reviewed family-story articles only. Full original photography; no business behavior. */
body.fe-page { color:#302b25; background:#fffdf7; }
body.fe-page :is(a,summary):focus-visible { outline:3px solid #8b5e29; outline-offset:5px; }
body.fe-page .fe-skip { position:fixed; top:8px; left:8px; z-index:100; padding:12px 20px; background:#fff; transform:translateY(-180%); }
body.fe-page .fe-skip:focus { transform:translateY(0); }
body.fe-page .case-header { position:relative; }
body.fe-page .case-nav { gap:20px; padding:8px 0; }
body.fe-page .case-logo { flex-shrink:0; }
body.fe-page .case-links a { min-height:44px; display:inline-flex; align-items:center; }
body.fe-page .fe-main { width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:30px 0 80px; line-height:1.85; overflow-wrap:anywhere; }
body.fe-page .fe-main :is(h1,h2,h3,p,figure,dl) { margin-top:0; }
body.fe-page .fe-main h1 { font:650 clamp(2rem,4.05vw,3.2rem)/1.5 "Noto Serif TC",serif; letter-spacing:0; margin-bottom:22px; color:#302b25; }
body.fe-page .fe-main h1 span { display:block; text-wrap:balance; }
body.fe-page .fe-main h1 span + span { color:#405b3a; }
body.fe-page .fe-main h2 { font:650 clamp(1.5rem,2.75vw,2rem)/1.6 "Noto Serif TC",serif; margin-bottom:20px; color:#405b3a; }
body.fe-page .fe-main h3 { font:650 1.15rem/1.65 "Noto Serif TC",serif; margin-bottom:12px; }
body.fe-page .fe-main p { font-size:1.0625rem; margin-bottom:18px; }
body.fe-page .fe-main a { color:#405b3a; text-underline-offset:.22em; }
body.fe-page .fe-crumb { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; font-size:.86rem; margin-bottom:28px; color:#6b5d4b; }
body.fe-page .fe-crumb a { display:inline-flex; min-height:44px; align-items:center; }
body.fe-page .fe-hero { display:grid; grid-template-columns:1.08fr 1fr; gap:44px; align-items:center; margin:0 0 38px; }
body.fe-page .fe-main .fe-kicker { font-size:.86rem; color:#795c37; font-weight:700; letter-spacing:.08em; margin-bottom:14px; }
body.fe-page .fe-main .fe-lead { font-size:1.13rem; }
body.fe-page .fe-main .fe-byline { font-size:.85rem; color:#6b5d4b; }
body.fe-page .fe-read-start { display:inline-flex; gap:18px; align-items:center; min-height:48px; padding:9px 20px; margin-top:4px; border:1px solid #405b3a; border-radius:6px; text-decoration:none; font-weight:650; }
body.fe-page .fe-read-start:hover { background:#f1f3e8; }
body.fe-page .fe-figure { margin:0; width:100%; min-width:0; }
body.fe-page .fe-original { display:block; text-decoration:none; }
body.fe-page .fe-original img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; border-radius:8px; }
body.fe-page .fe-original > span { display:inline-flex; min-height:44px; align-items:center; font-size:.86rem; text-decoration:underline; }
body.fe-page .fe-figure figcaption { text-align:left; font-size:.86rem; line-height:1.8; color:#6b5d4b; }
body.fe-page .fe-toc { border-top:1px solid #d9d0bd; border-bottom:1px solid #d9d0bd; padding:14px 0; display:flex; flex-wrap:wrap; gap:4px 25px; }
body.fe-page .fe-toc a { display:inline-flex; min-height:44px; align-items:center; font-size:.92rem; }
body.fe-page .fe-section { padding:40px 0; margin:0; border-bottom:1px solid #e4dccd; scroll-margin-top:24px; }
body.fe-page .fe-copy { min-width:0; max-width:930px; }
body.fe-page .fe-split { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr); gap:48px; align-items:center; }
body.fe-page .fe-split .fe-figure { max-width:390px; justify-self:center; }
body.fe-page .fe-reading-links { display:flex; flex-wrap:wrap; gap:8px 22px; }
body.fe-page .fe-reading-links a { display:inline-flex; align-items:center; min-height:44px; }
body.fe-page .fe-stories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:28px; }
body.fe-page .fe-story { display:flex; flex-direction:column; padding:24px; border:1px solid #ddd3c1; border-radius:8px; background:#fff; min-width:0; }
body.fe-page .fe-main .fe-source-kind { font-size:.84rem; font-weight:600; color:#795c37; margin-bottom:8px; }
body.fe-page .fe-main .fe-source-status { font-size:.86rem; color:#6b5d4b; margin:2px 0 10px; }
body.fe-page .fe-source-actions { margin-top:auto; display:flex; flex-direction:column; gap:4px; }
body.fe-page .fe-source-actions a { display:inline-flex; align-items:center; min-height:44px; font-size:.95rem; font-weight:600; width:fit-content; max-width:100%; }
body.fe-page .fe-checks { display:grid; gap:18px; margin-bottom:22px; }
body.fe-page .fe-checks > div { padding-left:16px; border-left:3px solid #b4bea0; }
body.fe-page .fe-checks dt { font-weight:700; margin:0 0 5px; }
body.fe-page .fe-checks dd { margin:0; }
body.fe-page .fe-source-note { border-left:3px solid #a8a477; background:#f3efdf; margin-top:38px; padding:24px 28px; border-radius:0 8px 8px 0; }
body.fe-page .fe-source-note h2 { font-size:1.2rem; margin-bottom:12px; }
body.fe-page .fe-main .fe-source-note p { font-size:.92rem; }
body.fe-page .fe-source-note p:last-child { margin-bottom:0; }
body.fe-page .fe-source-note a { display:inline-flex; align-items:center; min-height:44px; }
body.fe-page .fe-faq details { margin:0; padding:0; border:0; border-bottom:1px solid #d9d0bd; border-radius:0; background:transparent; }
body.fe-page .fe-faq summary { min-height:58px; padding:17px 0; cursor:pointer; font-weight:650; font-size:1.06rem; }
body.fe-page .fe-faq details p { padding:0 20px 14px 0; margin:0; }
body.fe-page .fe-next { padding-top:40px; }
body.fe-page .fe-related { display:flex; flex-wrap:wrap; gap:16px; margin:24px 0; }
body.fe-page .fe-related a { display:inline-flex; min-height:48px; align-items:center; padding:10px 20px; border:1px solid #526b46; border-radius:6px; text-decoration:none; font-weight:650; }
body.fe-page .fe-related a:first-child { color:white; background:#405b3a; }
body.fe-page .fe-back { display:inline-flex; min-height:44px; align-items:center; }
body.fe-page .case-footer { overflow-wrap:anywhere; }
body.fe-page .case-footer a { display:inline-flex; min-height:44px; align-items:center; }
@media(max-width:760px) {
 body.fe-page .fe-main { width:calc(100% - 36px); padding-top:16px; }
 body.fe-page .case-nav { align-items:flex-start; flex-wrap:wrap; gap:4px 18px; }
 body.fe-page .case-links { flex:1 1 220px; justify-content:flex-start; gap:0 16px; }
 body.fe-page .case-links a:nth-child(-n+2) { display:inline-flex; }
 body.fe-page .fe-hero,body.fe-page .fe-split,body.fe-page .fe-stories { grid-template-columns:1fr; gap:24px; }
 body.fe-page .fe-hero { margin-bottom:28px; }
 body.fe-page .fe-hero .fe-figure { max-width:500px; justify-self:center; }
 body.fe-page .fe-section { padding:30px 0; }
 body.fe-page .fe-toc { flex-direction:column; gap:0; }
 body.fe-page .fe-crumb { margin-bottom:18px; }
 body.fe-page .fe-story { padding:20px; }
 body.fe-page .fe-source-note { padding:22px 20px; }
 body.fe-page .fe-related { flex-direction:column; }
 body.fe-page .fe-related a { justify-content:center; }
}
@media(prefers-reduced-motion:reduce) {
 html:has(body.fe-page),body.fe-page,body.fe-page * { scroll-behavior:auto!important; transition:none!important; }
}
