@font-face{font-family:Effra;src:url('assets/fonts/Effra_Trial_Rg.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Effra;src:url('assets/fonts/Effra_Trial_Bd.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Effra;src:url('assets/fonts/Effra_Trial_XBd.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Effra;src:url('assets/fonts/Effra_Trial_Blk.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
.requirements-trigger{display:inline-flex;align-items:center;gap:24px;min-height:44px;margin-top:12px;color:#74132e;font-size:16px;font-weight:700;text-decoration:none;border-bottom:1px solid #c5a372}
.requirements-trigger:hover{color:#191d24;border-color:#74132e}.requirements-trigger span{font-size:24px;font-weight:400}
body.viewer-open{overflow:hidden}
#requirements-viewer{padding:0;border:0;border-radius:10px;width:min(1100px,calc(100% - 40px));max-width:none;height:92vh;height:92dvh;max-height:none;overflow:hidden;color:#22262c;background:#f1f0ed;box-shadow:0 20px 90px #0007}
#requirements-viewer::backdrop{background:#10131bce}
.viewer-shell{height:100%;display:flex;flex-direction:column;min-height:0}
.viewer-header{display:flex;justify-content:space-between;gap:20px;padding:20px 24px;background:#fff;border-top:4px solid #b2864c;align-items:center}
.viewer-header p{font-size:11px;letter-spacing:1.5px;color:#99713c;margin:0 0 5px;font-weight:700}
.viewer-header h2{font-size:24px;line-height:1.1;letter-spacing:0;margin:0;color:#74132e}
.viewer-shell button,.viewer-shell a{font-family:Effra,Arial,sans-serif;font-size:16px}
.viewer-shell button{border:1px solid #c5bfb5;background:white;color:#292d33;min-height:44px;padding:8px 16px;border-radius:5px;cursor:pointer;font-weight:700}
.viewer-shell button:focus-visible{outline:3px solid #b2864c;outline-offset:2px}
#requirements-close{flex-shrink:0;border:0;background:#f4f3f0}#requirements-close span{font-size:23px;margin-left:8px}
.viewer-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 24px;background:white;border-top:1px solid #eee}
.viewer-pages{display:flex;gap:6px}.viewer-pages button[aria-pressed=true],#requirements-zoom[aria-pressed=true]{background:#74132e;color:white;border-color:#74132e}
#requirements-download{margin-left:auto;color:#74132e;font-weight:700;display:inline-flex;align-items:center;min-height:44px}
#requirements-instructions{margin:0;padding:8px 24px;font-size:14px;color:#65676b}
.viewer-stage{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:20px;touch-action:pan-x pan-y pinch-zoom}
.viewer-stage img{display:block;width:100%;max-width:820px;height:auto;margin:0 auto;background:#fff;box-shadow:0 3px 20px #0001}
.viewer-stage.zoomed img{width:1600px;max-width:none;margin:0}
.viewer-footer{padding:10px 24px;background:white;color:#555;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.viewer-footer a{font-size:14px;min-height:36px;display:inline-flex;align-items:center;color:#74132e}.viewer-footer span{font-size:14px}
@media(max-width:600px){#requirements-viewer{width:100%;height:100%;height:100dvh;margin:0;border-radius:0}.viewer-header{padding:14px 16px;gap:10px}.viewer-header h2{font-size:19px}.viewer-header p{font-size:10px}.viewer-shell button{padding:8px 12px}.viewer-toolbar{padding:8px 16px;gap:8px}#requirements-download{margin-left:0;font-size:14px}.viewer-stage{padding:10px}.viewer-stage.zoomed img{width:1000px}#requirements-instructions{padding:8px 16px;font-size:13px}.viewer-footer{padding:8px 16px;gap:4px 16px}.viewer-footer a{font-size:13px}}
