html{scroll-padding-top:0;scroll-behavior:auto}main>section{scroll-margin-top:var(--header-offset,130px)}
.topbar{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;padding:12px 24px}.topbar .brand{padding-right:0;margin-right:auto}.topbar .languages{position:static;order:2}.topbar #nav{order:4;width:100%;overflow:auto;display:flex;gap:20px;margin:0;padding:4px 0}.topbar #nav a{display:inline-block;white-space:nowrap}.topbar #nav a[aria-current]{text-decoration:underline;text-underline-offset:5px}.contents-toggle{order:3;max-width:300px;text-align:left;cursor:pointer;font-weight:700;padding:10px 14px;border:2px solid #233835;border-radius:8px;background:#fff5cf;color:#233835}.mobile-menu{display:none!important}
dialog{color:#233835;border:2px solid #233835;border-radius:18px;max-width:min(1100px,calc(100vw - 32px));width:100%;padding:24px;max-height:calc(100dvh - 36px);overflow:auto;background:#fffdf5}dialog::backdrop{background:#162722b8}.dialog-head{position:sticky;top:-24px;z-index:2;background:#fffdf5;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #c5cfc6}.dialog-head h2{font-size:24px;margin:0}.dialog-head button{border:2px solid #233835;padding:10px 15px;border-radius:8px;background:#ffe574;cursor:pointer;color:#233835;font-weight:700}.contents-dialog nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.contents-dialog nav a{padding:12px;background:#f2f5e8;border-radius:8px}.contents-dialog nav a[aria-current]{background:#ffe574;outline:2px solid #233835}.image-viewer figure{margin:20px 0 0}.image-viewer img{display:block;max-width:100%;height:auto;width:auto;margin:auto}.image-viewer figcaption{font-size:16px;padding:18px 0;line-height:1.6}.image-link{cursor:zoom-in}.website-share{padding:40px 0;border-bottom:1px solid #c5cfc6}.website-share h2{font-size:28px}.website-share label{display:block;font-weight:700;margin:16px 0 6px}.website-share select,.website-share textarea{width:100%;max-width:100%;font:inherit;padding:12px;border:1px solid #687d6e;border-radius:6px;background:#fff;color:#233835;word-break:break-all}.website-share textarea{position:static;min-height:90px}.copy-source.copy-visible{width:100%;max-width:100%;min-height:200px;box-sizing:border-box}.copy-actions [role=status]{display:block;flex-basis:100%;line-height:1.6}
.material-pack{margin-top:48px}.material{padding:30px 0;border-top:2px solid #a3b2a1}.material h4{font-size:26px;margin:12px 0}.material h5{font-size:19px;margin:10px 0}.material figure{max-width:760px;margin:25px auto}.material figure img{width:100%;height:auto}.material-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.material-cards article{border:1px solid #a3b2a1;border-radius:12px;padding:18px;background:#fffdf5;min-width:0}.material-cards p{margin:10px 0}.material dl,.case-metadata{display:block;margin:16px 0}.material dt,.case-metadata dt{font-weight:700;margin:12px 0 4px}.material dd,.case-metadata dd{margin:0;line-height:1.7}.role-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.role-cards p,.passport-examples p{padding:16px;background:#f0f3e2;border-radius:8px}.material .notice{margin-top:20px}.case-metadata{font-size:16px}.material-cards article,.website-share{overflow-wrap:anywhere}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #1469a1;outline-offset:3px}
@media(max-width:900px){.topbar{padding:10px 16px;gap:8px}.topbar .brand{max-width:calc(100% - 160px)}.topbar .languages{margin-left:auto}.topbar #nav{display:none}.contents-toggle{width:100%;max-width:none;order:4}.contents-dialog nav{grid-template-columns:repeat(2,minmax(0,1fr))}.material-cards,.role-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.website-share{padding:28px 0}}
@media(max-width:520px){.material-cards,.role-cards{grid-template-columns:1fr}.contents-dialog nav{grid-template-columns:1fr}.dialog-head{gap:10px;align-items:flex-start}.dialog-head h2{font-size:21px}.dialog-head button{font-size:14px}dialog{padding:16px}.dialog-head{top:-16px}.topbar .brand span{font-size:11px}.topbar .languages{gap:3px}.topbar .languages button{padding:7px}.material{padding:24px 0}.material h4{font-size:22px}}

.contents-toggle{min-height:64px;width:300px;font-size:14px;line-height:1.35}@media(max-width:900px){.contents-toggle{width:100%;min-height:52px}}
