/* Local-only reading layouts; every selector is scoped to the reviewed articles. */
body.or-page { color:#30271f; background:#fffdf7; }
body.or-page .or-main { width:min(1120px,calc(100% - 48px)); margin:0 auto; padding:54px 0 88px; line-height:1.85; overflow-wrap:anywhere; }
body.or-page .or-main :is(h1,h2,h3,p,ul,ol,figure) { margin-top:0; }
body.or-page .or-main h1 { margin-bottom:22px; font:650 clamp(2rem,4.3vw,3.45rem)/1.4 'Noto Serif TC',serif; color:#30271f; letter-spacing:0; }
body.or-page .or-main h1 span { display:block; color:#4a6741; }
body.or-page .or-main h2 { margin-bottom:20px; font:650 clamp(1.65rem,3vw,2.15rem)/1.5 'Noto Serif TC',serif; color:#3e5837; }
body.or-page .or-main h3 { margin-bottom:12px; font:650 1.2rem/1.65 'Noto Serif TC',serif; color:#30271f; }
body.or-page .or-main p { margin-bottom:18px; font-size:1.0625rem; }
body.or-page .or-main a { color:#3e5837; text-underline-offset:.22em; }
body.or-page .or-main a:hover { text-decoration-thickness:2px; }
body.or-page :is(a,button,summary):focus-visible { outline:3px solid #865a23; outline-offset:5px; }
body.or-page .or-skip { position:fixed; inset:8px auto auto 10px; z-index:9999; padding:12px 20px; background:#fff; color:#30271f; transform:translateY(-180%); }
body.or-page .or-skip:focus { transform:translateY(0); }
body.or-page .or-hero { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:48px; margin:0 0 48px; }
body.or-page .or-main .or-kicker { margin-bottom:14px; font-size:.85rem; font-weight:700; color:#785f40; letter-spacing:.07em; }
body.or-page .or-main .or-lead { font-size:1.13rem; }
body.or-page .or-main .or-byline { font-size:.85rem; color:#695f53; }
body.or-page .or-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
body.or-page .or-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:10px 20px; border:1px solid #536a48; border-radius:8px; text-decoration:none; font-weight:650; background:#fff; }
body.or-page .or-actions a:first-child { background:#4a6741; color:#fff; }
body.or-page .or-toc { display:flex; flex-wrap:wrap; gap:8px 24px; padding:16px 0; margin-bottom:24px; border-top:1px solid #d5cbb8; border-bottom:1px solid #d5cbb8; }
body.or-page .or-toc a { display:flex; align-items:center; min-height:44px; font-size:.95rem; }
body.or-page .or-section { padding:44px 0; margin:0; border-bottom:1px solid #e3dacb; scroll-margin-top:100px; }
body.or-page .or-main .or-section > p { max-width:920px; }
body.or-page .or-figure { margin:0; min-width:0; }
body.or-page .or-figure img { display:block; width:100%; height:auto; max-height:none; object-fit:contain; border-radius:8px; }
body.or-page .or-figure figcaption { font-size:.875rem; line-height:1.8; color:#695f53; padding:13px 2px 0; text-align:left; }
body.or-page .or-original { display:inline-flex; min-height:44px; align-items:center; }
body.or-page .or-split { display:grid; grid-template-columns:1.45fr .85fr; gap:56px; align-items:center; }
body.or-page .or-split .or-figure { max-width:360px; justify-self:center; }
body.or-page .or-split h3:not(:first-child) { margin-top:24px; }
body.or-page .or-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 44px; list-style:none; padding:6px 0 0; margin:0; }
body.or-page .or-checks li { border-left:3px solid #b2bd9d; padding:0 0 0 18px; }
body.or-page .or-checks strong { display:block; margin-bottom:6px; }
body.or-page .or-checks span { display:block; }
body.or-page .or-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; counter-reset:step; gap:30px; padding:10px 0 16px; margin-bottom:12px; }
body.or-page .or-steps li { counter-increment:step; min-width:0; }
body.or-page .or-steps li::before { content:"0" counter(step); display:block; font:500 2rem/1.3 'Noto Serif TC',serif; color:#816548; margin-bottom:12px; }
body.or-page .or-photo-pair,body.or-page .or-split-text { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
body.or-page .or-split-text { margin-top:28px; }
body.or-page .or-note { padding:25px 28px; margin:28px 0; background:#f4efdf; border-left:3px solid #a69d72; border-radius:0 8px 8px 0; }
body.or-page .or-note p:last-child { margin-bottom:0; }
body.or-page .or-main .or-small,body.or-page .or-story-note { font-size:.9rem; color:#6b6052; }
body.or-page .or-faq { display:grid; gap:0; }
body.or-page .or-faq .faq-item { margin:0; padding:0; border:0; border-bottom:1px solid #ddd2bf; border-radius:0; background:transparent; }
body.or-page .or-faq summary { cursor:pointer; min-height:56px; padding:17px 30px 17px 0; font-size:1.07rem; font-weight:650; }
body.or-page .or-faq p { margin:0 0 24px; padding-right:20px; }
body.or-page .or-references { margin:36px 0; padding:24px 0; border-top:1px solid #d5cbb8; }
body.or-page .or-references h2 { font-size:1.25rem; }
body.or-page .or-references :is(p,li) { font-size:.9rem; }
body.or-page .or-references ul { padding-left:22px; margin-bottom:0; }
body.or-page .or-references li a { display:block; width:100%; min-height:44px; padding:6px 1em 6px 0; overflow-wrap:anywhere; }
body.or-page .or-next { border:0; }
body.or-page .or-next li { margin-bottom:10px; }
body.or-page .or-next > a,body.or-page .or-next li a { display:inline-flex; align-items:center; min-height:44px; }
body.or-page .or-stories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
body.or-page .or-story { padding:26px; border:1px solid #ded4c2; border-radius:8px; display:flex; flex-direction:column; }
body.or-page .or-story > a { min-height:44px; display:inline-flex; align-items:center; margin-top:auto; font-weight:650; }
body.or-page .or-source-list { list-style:none; padding:0; margin:24px 0; border-top:1px solid #e3dacb; }
body.or-page .or-source-list li { margin:0; border-bottom:1px solid #e3dacb; }
body.or-page .or-source-list a { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:64px; padding:14px 4px; text-decoration:none; }
body.or-page .or-source-list span { font-size:.9rem; }
body.or-page .hibou-keyword-cluster { margin:30px 0; border-radius:8px; }
body.or-page .case-links a { min-height:44px; display:inline-flex; align-items:center; }
body.or-page .case-footer a { display:inline-flex; align-items:center; min-height:44px; }
@media(max-width:760px) {
 body.or-page .or-main { width:calc(100% - 36px); padding-top:32px; }
 body.or-page .or-hero,body.or-page .or-split,body.or-page .or-stories { grid-template-columns:1fr; gap:28px; }
 body.or-page .or-hero .or-figure { max-width:520px; justify-self:center; }
 body.or-page .or-section { padding-top:32px; padding-bottom:32px; }
 body.or-page .or-photo-pair,body.or-page .or-split-text,body.or-page .or-steps { grid-template-columns:1fr; gap:22px; }
 body.or-page .or-photo-pair .or-figure { width:100%; max-width:520px; justify-self:center; }
 body.or-page .or-toc { gap:4px 20px; }
 body.or-page .or-note { padding:22px 20px; }
 body.or-page .or-source-list a { align-items:flex-start; flex-direction:column; gap:3px; }
 body.or-page .or-story { padding:22px; }
}
@media(max-width:480px) {
 body.or-page .or-checks { grid-template-columns:1fr; gap:22px; }
 body.or-page .or-actions { flex-direction:column; }
 body.or-page .or-actions a { width:100%; }
}
@media(prefers-reduced-motion:reduce) {
 body.or-page,body.or-page * { scroll-behavior:auto!important; transition:none!important; }
}
