:root { --site-text-step:0px; }
body { font-size:calc(14px + var(--site-text-step)); }
.header .menu-toggle,.sample-text-menu .menu-toggle {
 display:grid;place-items:center;flex-shrink:0;min-width:44px;min-height:44px;
 padding:10px;border:1px solid #5A584F;border-radius:3px;background:transparent;color:#F4F1E9;cursor:pointer;
}
.header .menu-toggle:hover,.sample-text-menu .menu-toggle:hover { border-color:#1EC8E8;color:#1EC8E8; }
.menu-toggle:focus-visible { outline:2px solid #1EC8E8;outline-offset:4px; }
.site-reading-menu[hidden] { display:none!important; }
.header .site-reading-menu:not([hidden]),.sample-text-menu .site-reading-menu:not([hidden]) {
 display:block;position:absolute;top:100%;right:32px;left:auto;width:min(430px,calc(100vw - 32px));
 max-height:calc(100dvh - 110px);overflow:auto;overscroll-behavior:contain;padding:26px;
 background:#13120F;border:1px solid #5A584F;border-top:2px solid #1EC8E8;
 box-shadow:0 18px 48px #0005;color:#F4F1E9;text-align:left;
}
.site-type-settings { font-family:'Space Grotesk',sans-serif; }
.site-type-settings fieldset { border:0;padding:0;margin:0;min-width:0; }
.site-type-settings legend { font-size:calc(20px + var(--site-text-step));line-height:1.3;font-weight:500;letter-spacing:-.025em;padding:0; }
.site-type-settings p { font-size:calc(14px + var(--site-text-step));line-height:1.5;color:#BBB7AC;text-align:left;letter-spacing:normal;margin:10px 0 20px; }
.site-type-options { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px; }
.site-type-options label { position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;min-width:0;padding:18px 2px 12px;border:1px solid #5A584F;border-radius:3px;cursor:pointer;color:#F4F1E9;font-size:calc(12px + var(--site-text-step));line-height:1.3;letter-spacing:normal; }
.site-type-options input { position:absolute;opacity:0;width:1px;height:1px;min-width:0;padding:0;margin:0; }
.site-type-options label:has(input:checked) { background:#F4F1E9;color:#13120F;border-color:#1EC8E8;box-shadow:inset 0 -3px #0F8FA8; }
.site-type-options label:hover { border-color:#1EC8E8; }
.site-type-options label:has(input:focus-visible) { outline:2px solid #1EC8E8;outline-offset:4px; }
.site-type-letter { font-size:var(--sample-size);line-height:1.2;letter-spacing:-.06em; }
.site-type-settings .site-type-hint { font-size:calc(12px + var(--site-text-step));line-height:1.5;margin:18px 0 0; }
.site-menu-links { display:none; }
.sample-toolbar { justify-content:space-between;gap:20px; }
.sample-text-menu { margin-left:auto; }
.sample-text-menu .site-reading-menu:not([hidden]) { right:20px;max-height:calc(100dvh - 96px);z-index:50; }
@media (max-width:1340px) {
 .header .desktop-nav { display:none; }
 .header .site-reading-menu:not([hidden]) { right:0;left:0;width:100%;max-height:calc(100dvh - 96px);padding:26px 35px; }
 .site-type-settings { max-width:480px; }
 .site-menu-links { display:block;margin-top:26px;border-top:1px solid #5A584F; }
 .header .site-menu-links a { display:flex;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid #3A3935;font-size:calc(18px + var(--site-text-step));line-height:1.4; }
 .header .site-menu-links a>span { font-size:calc(12px + var(--site-text-step));color:#AAA79E; }
 .header .site-menu-links a>svg { margin-left:auto;flex-shrink:0; }
}
@media (max-width:760px) {
 .header .site-reading-menu:not([hidden]) { padding:24px 20px;max-height:calc(100dvh - 80px); }
 .sample-text-menu .site-reading-menu:not([hidden]) { right:10px;width:calc(100vw - 20px);padding:22px 18px; }
 .site-type-options { gap:6px; }
 .site-type-options label { font-size:calc(11px + var(--site-text-step)); }
 .header .brand,.header .brand-original { max-width:min(220px,44vw);height:auto; }
 .header .nav-actions { gap:6px;flex-shrink:0; }
 input:not([type=radio]):not([type=checkbox]),textarea,select { min-height:44px; }
 body :is(#contact-form,#lab-login) :is(input,select,textarea),
 body :is(#contact-form,#lab-login) :is(input,textarea)::placeholder { font-size:max(16px,calc(14px + var(--site-text-step))); }
}
@media (max-width:380px) {
 .footer .footer-links { display:grid;grid-template-columns:1fr;gap:30px; }
}
