/* Approved photographic directory style: content and useful actions come first. */
.mobile-menu{display:none}
.page-collection .page-intro{padding:56px 0 26px}
.page-collection .page-intro h1{font-size:42px;line-height:1.12;letter-spacing:-1.4px;margin:0 0 14px}
.page-collection .page-intro p{font-size:18px;line-height:1.6;margin:0;max-width:680px}
.page-collection .list-search{margin:0 0 24px;padding:8px;border:1px solid #dce0d8;border-radius:14px;align-items:center}
.page-collection .list-search input{border:0;min-height:46px;padding-left:16px;font-size:16px;background:transparent}
.page-collection .list-search select{border:0;border-left:1px solid var(--line);border-radius:0;font-size:14px;min-height:42px;background:transparent}
.page-collection .list-search .button{border-radius:9px;padding:13px 26px;font-size:15px}
.page-collection .result-count{font-size:14px;margin:0 0 18px}
.page-collection .editorial-grid{gap:32px 24px}
.page-collection .content-card{display:block;border-bottom:1px solid var(--line);padding-bottom:22px}
.card-photo{overflow:hidden;border-radius:18px}
.page-collection .card-photo{aspect-ratio:1.55}
.page-collection .content-card img{width:100%;height:100%;aspect-ratio:1.55;object-fit:cover;margin:0;border-radius:0;transition:transform .22s ease}
.page-collection .content-card:hover img{transform:scale(1.025)}
.page-collection .content-card:hover{text-decoration:none}
.page-collection .card-copy{padding:17px 0 0}
.card-kind{display:none}
.page-collection .card-kind{display:block;color:var(--brand);font-size:12px;font-weight:700;margin:0 0 8px}
.page-collection .content-card h3{font-size:21px;line-height:1.3;letter-spacing:-.45px;display:flex;gap:12px;justify-content:space-between;margin:0}
.card-arrow{display:none}
.page-collection .card-arrow{display:inline;font-size:21px;font-weight:400;color:var(--brand);flex-shrink:0}
.page-collection .content-card p{font-size:15px;line-height:1.55;margin-top:9px;-webkit-line-clamp:3}
.page-collection .pagination{margin:28px 0 0;min-height:24px}
.collection-notes{margin-top:64px;padding:36px 0 0;border-top:1px solid var(--line)}
.notes-heading{display:flex;align-items:baseline;justify-content:space-between;gap:28px;margin-bottom:32px}
.notes-heading>h2{font-size:28px;letter-spacing:-.6px;line-height:1.25;margin:0;max-width:600px}
.notes-heading>a{font-size:14px;color:var(--brand);white-space:nowrap;font-weight:600}
.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.notes-section{min-width:0}
.notes-number{display:block;font-size:28px;font-weight:700;letter-spacing:-1px;color:var(--brand);line-height:1;margin-bottom:20px}
.notes-section h3{font-size:20px;line-height:1.35;letter-spacing:-.3px;margin:0 0 14px}
.notes-section p,.notes-section li{font-size:15px;line-height:1.7;color:#555c50;margin:0 0 13px}
.notes-section a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.notes-section ul,.notes-section ol{padding-left:20px}
.page-home .collection-notes{margin-top:64px}
.public .wrap.article.article-detail,.public .wrap.article.policy{max-width:1232px;padding-top:40px}
.article-detail .back{display:inline-block;font-size:14px;margin-bottom:24px;color:var(--brand)}
.article-lead{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding-bottom:44px;border-bottom:1px solid var(--line)}
.article-heading h1,.policy-heading h1{font-size:46px;line-height:1.12;letter-spacing:-1.5px;margin:0 0 22px}
.article-heading .article-summary,.policy-heading .article-summary{font-size:19px;line-height:1.65;color:#626858;margin:0 0 26px}
.article-lead .article-image{height:350px;border-radius:22px;aspect-ratio:1.5;object-fit:cover}
.article-heading .byline{font-size:13px;line-height:1.6;margin:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.byline a{color:var(--brand)}
.reading-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;margin-top:44px;align-items:start}
.reading-rail{position:sticky;top:26px}
.reading-rail .article-toc{margin:0;padding:0 25px 0 0;background:transparent;border:0;border-right:1px solid var(--line);border-radius:0}
.reading-rail .article-toc h2{font-size:15px;letter-spacing:0;margin:0 0 20px}
.article-toc summary{font-size:15px;font-weight:700;margin-bottom:20px;list-style:none;pointer-events:none}
.article-toc summary::-webkit-details-marker{display:none}
.reading-rail .article-toc ol{columns:1;padding-left:0;list-style:none;counter-reset:contents}
.reading-rail .article-toc li{counter-increment:contents;margin:0 0 16px;font-size:14px;line-height:1.5}
.reading-rail .article-toc a{display:block;color:#61685b;transition:color .15s ease}
.reading-rail .article-toc a:hover,.reading-rail .article-toc a:focus-visible{color:var(--brand)}
.reading-content{max-width:760px;min-width:0}
.reading-content .article-body{padding:0;font-size:18px;line-height:1.8}
.reading-section{padding:0 0 32px;margin:0 0 32px;border-bottom:1px solid var(--line)}
.reading-section:last-child{margin-bottom:0}
.reading-section h2{font-size:28px;line-height:1.3;letter-spacing:-.55px;margin:0 0 20px;scroll-margin-top:24px}
.reading-section p{margin:0 0 19px}
.reading-section p:last-child,.reading-section ul:last-child,.reading-section ol:last-child{margin-bottom:0}
.reading-section ul,.reading-section ol{background:var(--cream);border-radius:14px;padding:23px 26px 23px 48px;margin:20px 0}
.reading-section li{padding-left:4px;margin-bottom:12px}
.reading-section li:last-child{margin-bottom:0}
.reading-preface{margin-bottom:28px}
.reading-next{padding:30px 0 0}
.reading-next h2{font-size:22px;margin:0}
.reading-next .button-row{margin:18px 0 0}
.reading-content .source-box{margin-top:30px;background:#fff;border:1px solid var(--line);padding:24px;border-radius:14px}
.policy-heading{max-width:780px;padding:12px 0 24px}
.policy-heading .byline{font-size:13px;margin-bottom:0}
.policy .reading-layout{padding-top:32px;border-top:1px solid var(--line);margin-top:8px}
.contact-email{font-size:22px;color:var(--brand);font-weight:600;margin-top:24px;overflow-wrap:anywhere}
.tool-page .tool-instructions{max-width:none;margin:56px 0 0;padding-top:36px;border-top:1px solid var(--line)}
.page-detail .page-intro{padding:48px 0 28px}
.tool-layout{gap:32px}
.tool-layout .form-card{padding:30px;border-radius:18px;background:var(--cream);border:1px solid var(--line)}
.tool-layout label{font-size:15px;line-height:1.5;margin-bottom:22px}
.tool-layout input:not([type=checkbox]){min-height:48px;background:white}
.tool-layout .button{min-height:46px}
.tool-layout aside>img{height:240px;border-radius:18px}
.tool-layout #tool-result{min-height:140px;border-radius:18px;padding:28px;background:var(--brand-soft)}
.tool-layout #tool-result h2{font-size:26px;line-height:1.25;color:var(--brand-dark);margin:0 0 12px}
.tool-layout #tool-result p{font-size:15px;line-height:1.65;margin:0}
.page-detail .auth-box{padding:32px;border:1px solid var(--line);border-radius:20px;max-width:490px}
.page-detail .auth-box>h1{font-size:34px;line-height:1.15;letter-spacing:-1px}
.page-detail .auth-help{font-size:14px;line-height:1.65}
.page-detail .auth-box form .button{width:100%}
.page-detail .directory,.page-collection .directory{margin-top:56px}
.page-detail .footer-bottom,.page-collection .footer-bottom{margin-top:36px}
@media(max-width:1000px){
 .page-collection .page-intro{padding-top:40px}
 .article-lead{gap:30px}.article-heading h1,.policy-heading h1{font-size:38px}
 .article-lead .article-image{height:290px}
 .reading-layout{grid-template-columns:190px minmax(0,1fr);gap:32px}
 .notes-grid{gap:24px}.notes-section h3{font-size:18px}
}
@media(max-width:760px){
 .site-header>nav{display:none}.mobile-menu{display:block;position:relative}
 .mobile-menu summary{list-style:none;border:1px solid var(--line);border-radius:9px;padding:10px 16px;font-size:14px;cursor:pointer}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu[open] summary{background:var(--brand-soft);color:var(--brand-dark)}
 .site-header .mobile-menu nav{position:absolute;right:0;top:52px;z-index:20;display:grid;min-width:210px;padding:12px;gap:0;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px #30332314}
 .site-header .mobile-menu nav>a{display:block!important;padding:11px 12px;font-size:15px}
 .page-collection .page-intro h1{font-size:34px;letter-spacing:-1px}
 .page-collection .editorial-grid{gap:26px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .page-collection .content-card h3{font-size:19px}.page-collection .content-card p{font-size:14px}
 .page-collection .list-search{flex-wrap:wrap;gap:8px}.page-collection .list-search input{width:100%;flex-basis:100%;min-height:40px}
 .page-collection .list-search select{flex:1;max-width:none;border:0}
 .page-collection .list-search .button{padding:12px 22px}
 .notes-grid{grid-template-columns:1fr;gap:24px}
 .notes-section{display:grid;grid-template-columns:40px minmax(0,1fr);gap:0 14px;padding-bottom:24px;border-bottom:1px solid var(--line)}
 .notes-number{grid-row:1/3;font-size:25px;margin-top:3px}.notes-section h3{font-size:21px}.notes-section>div{grid-column:2}
 .notes-heading{display:block}.notes-heading>h2{font-size:25px;margin-bottom:14px}
 .collection-notes{margin-top:44px;padding-top:28px}
 .public .wrap.article.article-detail,.public .wrap.article.policy{padding-top:30px}
 .article-lead{grid-template-columns:1fr;gap:26px;padding-bottom:26px}
 .article-heading h1,.policy-heading h1{font-size:36px;letter-spacing:-1px;margin-bottom:18px}
 .article-heading .article-summary,.policy-heading .article-summary{font-size:17px;line-height:1.6;margin-bottom:20px}
 .article-lead .article-image{height:260px}
 .reading-layout{grid-template-columns:1fr;gap:28px;margin-top:28px}
 .reading-rail{position:static}
 .reading-rail .article-toc{padding:18px 20px;background:var(--cream);border:1px solid var(--line);border-radius:12px}
 .reading-rail .article-toc h2{margin-bottom:12px}
 .article-toc summary{pointer-events:auto;cursor:pointer;margin:0;display:flex;justify-content:space-between;font-size:15px}
 .article-toc summary:after{content:'+';color:var(--brand);font-size:20px;line-height:1}
 .article-toc details[open] summary{margin-bottom:14px}
 .article-toc details[open] summary:after{content:'−'}
 .reading-rail .article-toc ol{columns:2;column-gap:20px}
 .reading-rail .article-toc li{font-size:12px;line-height:1.5;margin-bottom:10px}
 .reading-content .article-body{font-size:17px;line-height:1.75}
 .reading-section{padding-bottom:26px;margin-bottom:26px}
 .reading-section h2{font-size:25px;margin-bottom:16px}
 .reading-section ul,.reading-section ol{padding:20px 18px 20px 38px}
 .policy .reading-layout{padding-top:24px}
 .tool-page .tool-instructions{margin-top:36px;padding-top:24px}
 .tool-layout .form-card{padding:24px}
 .tool-layout aside{display:flex;flex-direction:column;gap:18px}
 .tool-layout aside #tool-result{order:0;margin:0}
 .tool-layout aside>img{order:1}
 .page-detail .auth-box{padding:24px}
 .page-detail .directory,.page-collection .directory{margin-top:36px}
}
@media(max-width:430px){
 .page-collection .page-intro{padding:30px 0 22px}.page-collection .page-intro h1{font-size:32px}
 .page-collection .page-intro p{font-size:16px;line-height:1.5}
 .page-collection .editorial-grid{grid-template-columns:1fr;gap:26px}
 .page-collection .card-photo,.page-collection .content-card img{aspect-ratio:1.75}
 .page-collection .content-card h3{font-size:22px}
 .page-collection .content-card p{font-size:15px;-webkit-line-clamp:2}
 .page-collection .card-copy{padding-top:14px}
 .article-heading h1,.policy-heading h1{font-size:33px}
}
@media(prefers-reduced-motion:reduce){.page-collection .content-card img,.reading-rail .article-toc a{transition:none}}
@media print{.reading-rail,.mobile-menu,.collection-notes{display:none!important}.reading-layout,.article-lead{display:block}.reading-content{max-width:none}.reading-section{break-inside:avoid}}
