/* Usability House — shared header, menu, and footer for pages that keep their own page styles */
:root{--ink:#0B0B0D;--ink-2:#0F0F12;--card:#141418;--line:#212126;--line-2:#2E2E36;--purple:#6633FF;--purple-light:#8F72FF;--t1:#F4F4F6;--t2:#BBBBC3;--t3:#8C8C96;--rs:8px;--nav:68px}
body.menu-open{overflow:hidden}
.cwrap{width:100%;max-width:1140px;margin:0 auto;padding-left:22px;padding-right:22px}
@media(min-width:760px){.cwrap{padding-left:40px;padding-right:40px}}

header{position:sticky;top:0;z-index:100;background:rgba(11,11,13,.8);
  -webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--line)}
header .nav{display:flex;align-items:center;justify-content:space-between;height:var(--nav);padding-top:0;padding-bottom:0}
header .logo img{height:24px;width:auto;display:block}
.menu-btn{position:relative;width:44px;height:44px;margin-right:-10px;background:none;border:0;cursor:pointer;border-radius:6px;padding:0}
.menu-btn span{position:absolute;left:11px;width:22px;height:1.5px;background:var(--t1);transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .2s,top .28s}
.menu-btn span:nth-child(1){top:15px}
.menu-btn span:nth-child(2){top:21.5px}
.menu-btn span:nth-child(3){top:28px}
body.menu-open .menu-btn span:nth-child(1){top:21.5px;transform:rotate(45deg)}
body.menu-open .menu-btn span:nth-child(2){opacity:0}
body.menu-open .menu-btn span:nth-child(3){top:21.5px;transform:rotate(-45deg)}

.menu{position:fixed;inset:0;z-index:90;background:var(--ink);padding-top:var(--nav);overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
.menu::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(50% 45% at 85% 10%,rgba(102,51,255,.16),transparent 70%)}
body.menu-open .menu{opacity:1;visibility:visible;transition:opacity .3s ease}
.menu-grid{position:relative;display:grid;grid-template-columns:1fr;gap:48px;padding-top:56px;padding-bottom:56px}
@media(min-width:880px){.menu-grid{grid-template-columns:minmax(0,440px) 1fr;gap:96px;padding-top:88px}}
.menu-links a{display:flex;align-items:baseline;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:500;letter-spacing:-.02em;line-height:1.15;color:var(--t1);text-transform:none;opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s cubic-bezier(.2,.7,.2,1),color .15s}
.menu-links a:first-child{border-top:1px solid var(--line)}
.menu-links a .n{font-size:.74rem;font-weight:700;letter-spacing:.12em;color:var(--purple-light);min-width:1.8rem}
.menu-links a:hover{color:var(--purple-light)}
.menu-links a[aria-current]{color:var(--t3)}
body.menu-open .menu-links a{opacity:1;transform:none}
body.menu-open .menu-links a:nth-child(1){transition-delay:.05s}
body.menu-open .menu-links a:nth-child(2){transition-delay:.11s}
body.menu-open .menu-links a:nth-child(3){transition-delay:.17s}
body.menu-open .menu-links a:nth-child(4){transition-delay:.23s}
body.menu-open .menu-links a:nth-child(5){transition-delay:.29s}
.menu-side{opacity:0;transform:translateY(10px);transition:opacity .45s ease .22s,transform .45s cubic-bezier(.2,.7,.2,1) .22s}
body.menu-open .menu-side{opacity:1;transform:none}
.menu-side .label{display:inline-flex;align-items:center;gap:12px;font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--purple-light)}
.menu-side .label::before{content:"";width:22px;height:1px;background:var(--purple-light)}
.menu-side .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:1rem;line-height:1;border-radius:var(--rs);padding:.95rem 1.5rem;background:var(--purple);color:#fff;border:0;margin-top:18px;text-transform:none;letter-spacing:0}
.menu-side .btn:hover{background:var(--purple-light)}
@media(max-width:559px){.menu-side .btn{width:100%}}
.menu-contact{list-style:none;margin:24px 0 0;padding:0;color:var(--t2);line-height:2}
.menu-contact a{color:var(--t1)}
.menu-contact a:hover{color:var(--purple-light)}

footer{border-top:1px solid var(--line);padding:56px 0 30px;background:var(--ink);color:var(--t1)}
.foot{display:grid;grid-template-columns:1fr;gap:34px}
@media(min-width:760px){.foot{grid-template-columns:1.5fr 1fr 1fr;gap:40px}}
.foot img{height:26px;width:auto;display:block;opacity:1}
.foot .addr{margin-top:16px;color:var(--t2);line-height:1.7;max-width:30ch;font-size:1rem}
.foot h4{font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t3);margin:0 0 14px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:10px}
.foot li a{color:var(--t1);transition:color .15s}
.foot li a:hover{color:var(--purple-light)}
.foot-bottom{margin-top:46px;padding-top:22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 32px;justify-content:space-between;font-size:.84rem;color:var(--t3)}
@media(prefers-reduced-motion:reduce){.menu,.menu-links a,.menu-side,.menu-btn span{transition:none}}
