/* Mystic v3.1: readable typography and responsive brand chrome. */
body{font-size:16px;background-image:radial-gradient(rgba(183,114,135,.04) .65px,transparent .8px),linear-gradient(rgba(187,129,151,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(187,129,151,.012) 1px,transparent 1px),radial-gradient(ellipse at 75% 15%,rgba(91,41,68,.08),transparent 50%)}
body::before{opacity:.3}
.nf-header-inner{min-height:104px;gap:18px}
.nf-brand{gap:14px;flex-shrink:0;max-width:390px}
.nf-logo{width:68px;height:68px}
.nf-directory-logo{width:72px;height:72px;transform:none}
.nf-brand>span{min-width:0}
.nf-brand strong{font-size:15px;line-height:1.55;letter-spacing:.07em;max-width:280px;overflow-wrap:anywhere}
.nf-brand small{font-size:13px;letter-spacing:.08em;line-height:1.65;overflow-wrap:anywhere}
.nf-protocol-nav a{font-size:14px;padding:12px 10px;min-height:44px;color:#c2b7c8}
.nf-menu-toggle{font-size:13px;min-width:44px;min-height:44px}
.nf-sound,.nf-bgm button{font-size:11px;min-height:44px;padding:10px}
.nf-code,.nf-kicker{font-size:12px}
.nf-hero-desc,.nf-about p,.nf-panel p,.nf-prose,.nf-dossier .nf-prose,.nf-directory-header p,.nf-personnel-copy p,.nf-quote{font-size:16px;line-height:1.9}
.nf-prose p{font-size:inherit}
.nf-btn,.nf-main button.mit-submit,.nf-link,.nf-back,.nf-tabs button{font-size:14px}
.nf-card-world,.nf-personnel-copy>.nf-code,.nf-stats dt,.nf-facts dt{font-size:13px}
.nf-personnel-copy h3{font-size:21px}
.nf-page-head h1{overflow-wrap:anywhere}
.nf-page-head .mit-work-meta{margin-top:16px}
.nf-footer-status,.nf-site-footer .nf-code{font-size:12px;white-space:normal}
.nf-featured img{display:block}
/* Switch to a menu before the larger brand and navigation become crowded. */
@media(max-width:1280px){
 .nf-header-inner{width:calc(100% - 48px);min-height:96px;flex-wrap:wrap;padding-block:12px;gap:12px}
 .nf-brand{margin-right:auto;max-width:calc(100% - 230px)}
 .nf-brand strong{max-width:290px}
 .nf-menu-toggle{display:block}
 .nf-protocol-nav{order:4;width:100%;margin:0;justify-content:flex-start;flex-wrap:wrap;gap:6px}
 .nf-js .nf-protocol-nav,.nf-js .nf-protocol-nav:not(.is-open){display:flex;max-height:0;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;transform:none;transition:max-height .26s ease,opacity .26s ease,visibility 0s linear .26s}
 .nf-js .nf-protocol-nav.is-open{max-height:480px;opacity:1;visibility:visible;pointer-events:auto;transition:max-height .26s ease,opacity .26s ease,visibility 0s}
 .nf-protocol-nav a{padding:12px 16px;font-size:14px}
 .nf-js .nf-protocol-nav a{opacity:1;transform:none}
}
@media(min-width:1281px) and (max-width:1440px){
 .nf-header-inner{width:calc(100% - 40px);gap:12px}
 .nf-brand{max-width:330px;gap:10px}
 .nf-brand strong{max-width:240px;font-size:14px}
 .nf-protocol-nav a{padding-inline:8px}
}
@media(max-width:640px){
 html{scroll-padding-top:146px}
 .nf-header-inner{width:calc(100% - 32px);min-height:86px;gap:8px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;padding-block:10px}
 .nf-brand{grid-column:1;grid-row:1/3;max-width:none;margin:0;gap:9px}
 .nf-logo,.nf-directory-logo{width:50px;height:50px}
 .nf-brand strong{font-size:12px;line-height:1.55;letter-spacing:.035em;max-width:230px}
 .nf-brand small{font-size:11px;line-height:1.6;letter-spacing:.04em}
 .nf-menu-toggle{grid-column:2/4;grid-row:1;font-size:12px;padding:6px 12px;justify-self:end}
 .nf-menu-toggle::after{content:none}
 .nf-sound{grid-column:2;grid-row:2}
 .nf-bgm{grid-column:3;grid-row:2}
 .nf-sound,.nf-bgm button{font-size:10px;padding:6px;min-height:36px;letter-spacing:0}
 .nf-protocol-nav,.nf-js .nf-protocol-nav{grid-column:1/-1;grid-row:3;width:100%;margin:0;gap:6px}
 .nf-protocol-nav a{flex:1 0 28%;font-size:14px;min-height:44px;padding:10px 6px}
 .nf-shell{width:calc(100% - 32px)}
 .nf-panel{padding:20px}
 .nf-hero-desc{font-size:16px}
 .nf-personnel-copy{padding:10px 5px}
 .nf-personnel-copy h3{font-size:12px;line-height:1.5;margin:0}
 .nf-site-footer .nf-code{font-size:12px}
 .nf-quote{font-size:16px}
}
@media(max-width:360px){
 .nf-header-inner{column-gap:6px}
 .nf-logo,.nf-directory-logo{width:42px;height:42px}
 .nf-brand{gap:7px}
 .nf-brand strong{font-size:11px}
 .nf-brand small{font-size:10px}
 .nf-sound,.nf-bgm button{font-size:9px;padding-inline:4px}
 .nf-menu-toggle{font-size:11px}
}
@media(max-width:782px){.admin-bar .nf-site-header{top:46px}}
@media(max-width:600px){.admin-bar .nf-site-header{top:0}}
