@font-face{font-family:Publication;src:url('assets/fonts/Lato-Regular.ttf')}@font-face{font-family:Publication;src:url('assets/fonts/Lato-Bold.ttf');font-weight:700}@font-face{font-family:Publication;src:url('assets/fonts/Lato-Heavy.ttf');font-weight:900}*{box-sizing:border-box}body{margin:0;background:#ebe7e6;color:#26232a;font-family:Publication,Arial,sans-serif}.print-toolbar{position:sticky;top:0;z-index:10;display:flex;gap:25px;justify-content:center;align-items:center;padding:15px;background:#fff;font-size:13px}.print-toolbar a{color:#762032}.print-toolbar button{font:inherit;background:white;border:1px solid #bbb;padding:7px 12px;cursor:pointer}.page{--accent:#95273b;position:relative;width:210mm;height:297mm;background:#fff;padding:16mm 17mm 15mm;margin:12mm auto;overflow:hidden;box-shadow:0 5px 35px #39222a15;border-top:2mm solid var(--accent)}.page>header{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.07em;color:#695d64;border-bottom:1px solid #e3dadd;padding-bottom:10px;margin-bottom:24px}.page-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--accent);font-weight:700;margin-bottom:12px}.page h1{font-size:39px;line-height:1.06;letter-spacing:-.035em;font-weight:900;max-width:640px;margin:0 0 20px}.lead{font-size:15px;line-height:1.62;margin:0 0 20px;max-width:650px}.page figure{margin:0 0 22px}.page figure a{display:block}.page img{display:block;width:100%;height:105mm;object-fit:contain;background:#fcfbf9}.page .capture img{height:110mm;border:1px solid #d5ced1}.with-focus .visual-frame{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center;height:110mm}.with-focus .visual-frame>a img{height:auto}.focus-frame{position:relative;overflow:hidden;width:100%;max-height:110mm;border:1px solid #d5ced1;background:#111b24}.page figcaption{font-size:8px;line-height:1.5;color:#675d63;padding-top:8px}.page-bottom{display:grid;grid-template-columns:1.9fr 1fr;gap:25px;border-top:1px solid #ddd4d8;padding-top:16px}.page-bottom p{font-size:12px;line-height:1.65;margin:0}.page-bottom aside{border-left:2px solid var(--accent);padding-left:13px}.page-bottom aside span{display:block;color:var(--accent);font-size:10px;font-weight:700;line-height:1.5;margin-bottom:10px}.page-bottom small{font-size:8px;line-height:1.5;color:#62565e}.page>footer{position:absolute;bottom:13mm;left:17mm;right:17mm;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e1d8dc;padding-top:9px;font-size:8px;color:#655b61}.page>footer strong{font-size:17px;color:var(--accent)}@page{size:A4 portrait;margin:0}@media print{body{background:white}.print-toolbar{display:none}.page{margin:0;box-shadow:none;break-after:page;page-break-after:always}.page:last-child{break-after:auto;page-break-after:auto}a{color:inherit;text-decoration:none}}@media screen and (max-width:820px){main{overflow:auto}.page{margin:15px auto}.print-toolbar{justify-content:flex-start;gap:15px;flex-wrap:wrap}}
.atlas-page h1{font-size:34px!important;margin-bottom:12px}.atlas-intro{font-size:11px;line-height:1.5;margin-bottom:16px}.atlas-print-rows section{border-top:1px solid #ddd4d8;padding:9px 0}.atlas-print-rows h2{font-size:13px;line-height:1.3;margin:0 0 3px}.atlas-print-rows code{font-size:9px;color:#762032}.atlas-print-rows p{font-size:10px;line-height:1.4;margin:3px 0 0}.atlas-page .page-bottom{margin-top:15px}.page:first-child h1{font-size:43px!important}.page:first-child .capture img{height:92mm}
/* Opening and chapter pages carry a different typographic rhythm. */
.c2-page h1{font-size:34px}.c2-page .lead{font-size:12px}.c2-page .c2-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.c2-page .c2-entry{padding:9px;border:1px solid #ddd4d8}.c2-page .c2-entry strong,.c2-page .c2-entry span,.c2-page .c2-entry code{display:block;font-size:10px;line-height:1.5}.c2-page .c2-entry code{font-size:8px;overflow-wrap:anywhere}.c2-page .page-bottom{margin-top:18px}
.tool-map-page .reuse-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:8px;line-height:1.45}.tool-map-page .reuse-table caption{text-align:left;font-weight:700;font-size:12px;margin:8px 0}.tool-map-page .reuse-table th,.tool-map-page .reuse-table td{padding:10px 7px;border-bottom:1px solid #ddd4d8;vertical-align:top;text-align:left;overflow-wrap:anywhere}.tool-map-page .reuse-table th:first-child{width:22%}.tool-map-page .reuse-table small{display:block;font-size:7px;font-weight:400}.tool-map-page .page-bottom{margin-top:20px}.tool-map-page h1{font-size:34px}.tool-map-page .lead{font-size:12px}.bundle-page .print-domains .domain-card dl{font-size:8.5px}
.atlas-print-rows h2 .validated{font-size:8px;margin-left:5px;white-space:nowrap}
.bundle-page .print-domains dl{font-size:9px;line-height:1.3}.bundle-page .print-domains dt{margin-top:4px}.bundle-page .print-domains dd{margin:0 0 3px}.bundle-page .print-domains .domain-card{padding:8px 0}.bundle-page .print-domains h3{font-size:15px;margin-bottom:4px}
 .bundle-page .domain-card{padding:12px 0;border-top:1px solid #ddd4d8}.bundle-page h3{font-size:17px;margin:0 0 7px}.bundle-page p,.bundle-page dl{font-size:11px;line-height:1.55}.bundle-page dt{font-weight:700}.bundle-page dd{margin:0 0 5px}.bundle-page .domain-title{display:flex;justify-content:space-between}.bundle-page .domain-title span,.bundle-status{font-size:10px}.bundle-page .bundle-status{font-weight:700}.validated{color:#17683b}.testing{color:#785900}.development{color:#95420c}.bundle-page .price-card{border-top:1px solid #ddd;padding:10px 0}.bundle-page .price{font-size:27px;margin:8px 0}.bundle-page .price small{font-size:11px;display:block}.bundle-page .page-bottom{margin-top:16px}.bundle-page:has(.defense){--accent:#71348d}.bundle-page .defense h3{color:#71348d}.bundle-page .forensics h3{color:#50515b}.bundle-page:has(.price-card){--accent:#50515b}
.page:first-child h1{font-size:59px;max-width:650px}.page:first-child .diagram img{height:83mm}.page:nth-child(5) h1,.page:nth-child(13) h1,.page:nth-child(21) h1,.page:nth-child(31) h1,.page:nth-child(39) h1{font-size:45px}.page:nth-child(5),.page:nth-child(13),.page:nth-child(21),.page:nth-child(31),.page:nth-child(39){border-top-width:4mm}
.bundle-page:has(.price-card) .price-card{display:grid;grid-template-columns:145px 1fr;column-gap:22px;padding:14px 0}.bundle-page:has(.price-card) .price-card h3{grid-column:1;grid-row:1}.bundle-page:has(.price-card) .price-card .price{grid-column:1;grid-row:2 / span 3;margin:0}.bundle-page:has(.price-card) .price-card>p:not(.price){grid-column:2;margin:0 0 9px}.bundle-page:has(.price-card) .price-card>.bundle-status{grid-column:2;grid-row:2;margin-bottom:8px}.bundle-page:has(.price-card) .weights-terms{margin-top:18px}
