/* Article-only reading improvements; the firm's theme and public pages stay intact. */
.iff-reader{max-width:1180px;margin:0 auto;color:#263447}
.iff-reader .iff-reader-back{display:inline-block;margin:0 0 30px;color:#885613;font-size:14px;font-weight:700;text-decoration:none}
.iff-reader .iff-reader-back:hover{text-decoration:underline}
.iff-reader .iff-article-header{text-align:left;max-width:960px;margin:0 0 36px;border-left:3px solid #aa7937;padding-left:26px}
.iff-reader .iff-article-header h1{max-width:none;margin:14px 0 22px;font:700 clamp(2rem,3.5vw,3.6rem)/1.14 Georgia,serif;letter-spacing:-.025em;color:#14233f;overflow-wrap:break-word}
.iff-reader .iff-kicker{font-weight:700;color:#885613}
.iff-reader .iff-reader-lead{font-size:clamp(1.08rem,1.6vw,1.28rem);line-height:1.7;color:#3d4d61;margin:0 0 24px;max-width:850px;font-weight:500}
.iff-reader .iff-article-meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;font-size:14px;letter-spacing:0;color:#48576b;font-weight:600}
.iff-reader .iff-article-cover{margin:0 0 48px}
.iff-reader .iff-article-cover img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:6px}
.iff-reader-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;align-items:start}
.iff-reader-toc{position:sticky;top:24px;padding:22px 20px;background:#faf7f1;border:1px solid #e4d9c7;border-top:3px solid #aa7937;border-radius:4px;max-height:calc(100vh - 48px);overflow:auto}
.iff-reader-toc summary{font-size:15px;color:#14233f;font-weight:800;cursor:pointer;line-height:1.5}
.iff-reader-toc ol{list-style:none;margin:18px 0 0;padding:0;counter-reset:sections}
.iff-reader-toc li{counter-increment:sections;margin:0 0 13px;display:flex;gap:10px;font-size:13px;line-height:1.5}
.iff-reader-toc li:before{content:counter(sections,decimal-leading-zero);font-weight:700;color:#906126;font-size:11px;padding-top:2px}
.iff-reader-toc a{color:#35465d;font-weight:600;text-decoration:none}
.iff-reader-toc a:hover{color:#885613;text-decoration:underline}
.iff-reader-prose{min-width:0;max-width:800px}
.iff-reader .iff-article-body{font-size:18px;line-height:1.85;color:#263447;font-weight:500;overflow-wrap:break-word}
.iff-reader .iff-article-body p,.iff-reader .iff-article-body ul,.iff-reader .iff-article-body ol,.iff-reader .iff-article-body blockquote{max-width:none;margin:0 0 1.45em}
.iff-reader .iff-article-body h2{font:700 clamp(1.5rem,2.4vw,2rem)/1.3 Georgia,serif;margin:2.1em 0 .75em;color:#14233f;scroll-margin-top:30px}
.iff-reader .iff-article-body h3{font:700 1.35rem/1.4 Georgia,serif;margin:1.7em 0 .7em;color:#14233f;scroll-margin-top:30px}
.iff-reader .iff-article-body h2,.iff-reader .iff-article-body h3{text-transform:none;letter-spacing:normal}
.iff-reader .iff-article-body>:first-child{margin-top:0}
.iff-reader .iff-article-body ul,.iff-reader .iff-article-body ol{padding-left:1.5em}
.iff-reader .iff-article-body li{margin-bottom:.65em}
.iff-reader .iff-article-body strong{font-weight:750;color:#14233f}
.iff-reader .iff-article-body a{color:#85510b;text-underline-offset:3px}
.iff-reader .iff-article-body figure{max-width:none;margin:2.2em 0}
.iff-reader .iff-article-body figure img{width:100%;height:auto;object-fit:contain;border-radius:5px}
.iff-reader .iff-article-body figcaption,.iff-reader .iff-article-cover figcaption{color:#536075;font-size:14px;line-height:1.6;font-weight:500}
.iff-reader .iff-article-note{margin:40px 0 28px;padding:22px 24px;border-left:3px solid #aa7937;background:#faf7f1;color:#48576b;font-size:14px;line-height:1.8;font-weight:500}
.iff-reader a:focus-visible,.iff-reader summary:focus-visible{outline:3px solid #aa7937;outline-offset:4px}
@media(max-width:900px){.iff-reader-layout{grid-template-columns:1fr;gap:32px}.iff-reader-toc{position:static;max-height:none}.iff-reader-toc ol{columns:2;column-gap:30px}.iff-reader-toc li{break-inside:avoid}.iff-reader-prose{max-width:none}.iff-reader .iff-article-cover{margin-bottom:30px}}
@media(max-width:600px){.iff-reader .iff-article-header{padding-left:16px;margin-bottom:26px}.iff-reader .iff-article-header h1{font-size:2rem;line-height:1.18}.iff-reader .iff-article-meta{font-size:13px;gap:8px 16px}.iff-reader-toc ol{columns:1}.iff-reader .iff-article-body{font-size:17px;line-height:1.8}.iff-reader .iff-reader-back{margin-bottom:24px}.iff-reader .iff-article-note{padding:18px}}
@media print{.iff-reader-toc{display:none}.iff-reader-layout{display:block}.iff-reader .iff-article-body{font-size:11pt}.iff-reader .iff-reader-back{display:none}}
