/* Shared WPT frame for the five retained tools. No main/content selectors. */
@font-face{font-family:WPTShell;src:url('/assets/hanken-grotesk.woff2') format('woff2');font-weight:100 900;font-display:swap}
.header,.full-footer{--shell-ink:#171716;--shell-paper:#f5f5f0;--shell-line:#c5c5bd;--shell-pad:clamp(22px,4.3vw,72px);box-sizing:border-box;color:var(--shell-ink);background:var(--shell-paper);font-family:WPTShell,Arial,sans-serif;font-weight:400;line-height:1.5;letter-spacing:0}
.header *,.full-footer *{box-sizing:border-box}
.header a,.full-footer a{color:inherit;text-underline-offset:5px}
.header a:focus-visible,.header button:focus-visible,.header summary:focus-visible,.full-footer a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.header{height:86px;padding:0 var(--shell-pad);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--shell-ink)}
.header .brand,.full-footer .brand{display:flex;align-items:center;gap:16px;font-family:WPTShell,Arial,sans-serif;font-size:40px;font-weight:900;line-height:.85;letter-spacing:-.06em;text-decoration:none;flex-shrink:0}
.header .brand-wordmark,.full-footer .brand-wordmark{display:block;height:.7158203125em;width:2.29796875em;max-width:none;flex:0 0 auto}
.header .brand.brand-wpt-final{align-items:flex-end;gap:13px;flex-wrap:nowrap}
.header .brand.brand-wpt-final>span{display:block!important;font-family:Arial,sans-serif;font-weight:400;font-size:.3em;line-height:calc(1.796875em - 1cap);letter-spacing:.01em;max-width:none;white-space:nowrap;text-box:trim-both cap alphabetic}
.header nav{display:flex;align-items:center;gap:23px;font-size:14px}
.header nav>a{text-decoration:none;padding:8px 0}
.header nav>a[aria-current]{border-bottom:2px solid}
.header .nav-contact{border:1px solid;padding:10px 17px;border-radius:40px}
.header .menu{display:none;font:inherit;color:inherit;cursor:pointer}
.header .nav-more{position:relative}
.header .nav-more summary{cursor:pointer;list-style:none;padding:12px 0;white-space:nowrap}
.header .nav-more summary::-webkit-details-marker{display:none}
.header .nav-more summary:after{content:' +';font-size:14px}
.header .nav-more[open] summary:after{content:' −'}
.header .nav-more>div{position:absolute;top:100%;right:0;min-width:220px;background:var(--shell-paper);border:1px solid;padding:15px;display:flex;flex-direction:column;gap:5px;box-shadow:5px 5px 0 #17171622}
.header .nav-more a{padding:10px;font-size:15px}
.header .reading-progress{display:none}
.full-footer{display:block;width:100%;padding:55px var(--shell-pad) 25px}
.full-footer p,.full-footer h2{margin:0}
.full-footer .footer-identity{display:flex;justify-content:space-between;gap:30px;padding-bottom:35px;border-bottom:1px solid var(--shell-line)}
.full-footer .footer-identity>p{font-size:15px}
.full-footer .brand{font-size:38px;flex-shrink:1}
.full-footer .brand>span{display:block;font-family:Arial,sans-serif;font-size:12px;font-weight:700;line-height:1.35;letter-spacing:0;max-width:250px}
.full-footer .footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:30px 0}
.full-footer .footer-columns section{display:flex;flex-direction:column;gap:8px}
.full-footer h2{font-family:WPTShell,Arial,sans-serif;font-size:13px;font-weight:700;line-height:.98;letter-spacing:0;margin:0 0 13px;text-transform:uppercase}
.full-footer .footer-columns a{font-size:15px}
.full-footer .footer-note{font-size:12px;padding-top:22px;border-top:1px solid var(--shell-line)}
/* Reifegrad's restart action belonged to its old header, and stays functional. */
.legacy-tool-actions{display:flex;justify-content:flex-end;padding-top:18px}
.legacy-tool-actions:has(>[hidden]){display:none}
.legacy-tool-links{padding:22px clamp(22px,4.3vw,72px);background:#f5f5f0;border-bottom:1px solid #c5c5bd;font:15px/1.5 WPTShell,Arial,sans-serif;color:#171716}
.legacy-tool-links a{display:inline-flex;min-height:44px;align-items:center;color:inherit;text-underline-offset:5px}
.legacy-tool-links a:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:1200px){.header nav{gap:15px}.header nav>a,.header .nav-more summary{font-size:13px}}
@media(max-width:1100px){
 .header{height:auto;min-height:78px;flex-wrap:wrap;gap:20px;padding-top:18px;padding-bottom:18px}
 .header nav{width:100%;flex-wrap:wrap;gap:15px}
 .header.legacy-shell-ready{height:78px;flex-wrap:nowrap;padding-top:0;padding-bottom:0}
 .header.legacy-shell-ready .menu{display:block;min-height:44px;background:transparent;border:1px solid;padding:8px 12px;font-size:13px;flex-shrink:0}
 .header.legacy-shell-ready nav{display:none;position:absolute;top:100%;left:0;right:0;width:100%;padding:22px var(--shell-pad);border-bottom:1px solid;background:var(--shell-paper);max-height:calc(100dvh - 78px);overflow:auto;overscroll-behavior:contain}
 .header.legacy-shell-ready nav.open{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:8px}
 .header nav>a,.header .nav-more summary{font-size:20px;min-height:44px}
 .header .nav-more>div{position:static;box-shadow:none;border:0;border-top:1px solid var(--shell-line);padding:10px 0}
 .header .nav-more a{font-size:16px;min-height:44px;padding:8px}
 .header .nav-contact{font-size:16px;text-align:center;margin-top:5px}
}
@media(max-width:720px){.header .brand{font-size:36px}.full-footer{padding-top:40px}.full-footer .footer-identity{display:block}.full-footer .footer-identity>p{margin-top:20px}.full-footer .footer-columns{grid-template-columns:1fr 1fr;gap:30px 15px}.full-footer .brand{font-size:34px}.full-footer .footer-columns a{font-size:14px}}
@media(max-width:600px){.full-footer .brand{gap:12px;flex-wrap:wrap}.full-footer .brand>span{font-size:11px;max-width:200px}}
@media print{.header,.full-footer{display:none!important}}
