/* Shared menu, footer and button styles copied from the live homepage. */
.header,.footer{line-height:1.5;letter-spacing:-.025em;color:#fefefe;--muted:#b5b4b8}
.footer h3{line-height:1.3;letter-spacing:normal}
.footer{width:100%;max-width:1440px;margin:90px auto 0}
.header button{font:inherit;color:inherit;cursor:pointer}

@property --button-mid{syntax:"<percentage>";inherits:false;initial-value:45%}
@property --button-glow{syntax:"<percentage>";inherits:false;initial-value:100%}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 21px;border-radius:100px;border:1px solid #9390a0;background:linear-gradient(180deg,#07050f 0%,#28185a var(--button-mid),#8da5fa var(--button-glow));color:#fff;font-size:18px;line-height:1.5;transition:--button-mid .24s ease-out,--button-glow .24s ease-out;white-space:nowrap}.button:hover,.button:focus-visible{--button-mid:30%;--button-glow:82%}.button.small{min-height:42px;padding:8px 20px;font-size:16px}
.header{position:absolute;z-index:20;top:40px;left:50%;transform:translateX(-50%);width:603px;min-height:59px;border:1px solid #343434;border-radius:40px;background:#000e;backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:space-between;padding:7px 8px 7px 25px;gap:24px}.brand{display:block;flex-shrink:0}.brand img{width:93px;height:38px}.nav{display:flex;align-items:center;gap:32px;margin-left:auto}.nav a{font-size:16px;transition:color .2s;white-space:nowrap}.nav a:hover{color:#bdaaff}.menu-toggle{display:none;background:transparent;width:42px;height:42px;border:1px solid #777;border-radius:50%;padding:10px}.menu-toggle span{display:block;height:1px;width:21px;background:#fff;margin:5px 0;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6px) rotate(-45deg)}
.footer{padding:20px 20px 0}.footer-main{display:grid;grid-template-columns:1.15fr 3.35fr;gap:70px;min-height:530px}.footer-brand .brand{margin-bottom:20px}.socials{display:flex;gap:10px;margin-bottom:28px}.socials a{display:grid;place-items:center;border:1px solid #555;border-radius:50%;width:26px;height:26px;font-size:12px}.footer-contact{font-size:16px;display:grid;gap:8px}.footer-contact address{font-style:normal;max-width:290px}.clutch{width:198px;height:56px;margin-top:70px}.footer-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px}.footer-nav h3{font-size:18px;margin-bottom:20px}.footer-nav ul{padding:0;margin:0;list-style:none;display:grid;gap:8px;font-size:16px}.footer-nav a:hover,.footer-contact a:hover{color:#bdaaff}.footer-nav .category{color:var(--muted);margin-top:4px}.subfooter{border-top:1px solid #242424;display:flex;justify-content:space-between;gap:20px;padding:24px 0;color:var(--muted);font-size:16px}
@media(min-width:1600px){.header{top:40px}}
@media(max-width:1200px) and (min-width:701px){.footer-main{grid-template-columns:1fr;gap:50px;min-height:0}.footer-brand{display:grid;grid-template-columns:1fr 1fr}.clutch{margin-top:20px}.footer-nav{padding-bottom:60px}}
@media(max-width:700px){.header{top:20px;width:calc(100% - 32px);padding:7px 7px 7px 25px;gap:7px;min-height:59px}.header>.button{margin-left:auto}.menu-toggle{display:block;flex-shrink:0}.nav{display:none;position:absolute;top:70px;left:0;right:0;padding:24px;border:1px solid #444;border-radius:20px;background:#08060eef;margin:0;backdrop-filter:blur(15px)}.nav.open{display:grid;gap:22px}.nav a{font-size:20px}.footer{padding:0 16px}.footer-main{display:flex;flex-direction:column;gap:52px;min-height:0}.footer-nav{grid-template-columns:1fr 1fr;gap:36px 24px;padding-bottom:52px}.footer-nav h3{font-size:20px}.footer-nav ul{font-size:16px}.footer-contact{font-size:16px}.clutch{margin-top:34px}.subfooter{font-size:14px;padding:24px 0}}
@media(max-width:360px){.header{padding-left:15px}.header .brand img{width:80px}.header>.button{font-size:14px;padding:8px 13px}}
@media(prefers-reduced-motion:reduce){.button{transition:none!important}}
.footer-nav a,.footer-contact a{background-image:linear-gradient(#bdaaff,#bdaaff);background-position:0 100%;background-size:0 1px;background-repeat:no-repeat;transition:background-size .3s ease,color .3s ease}
.footer-nav a:is(:hover,:focus-visible),.footer-contact a:is(:hover,:focus-visible){background-size:100% 1px}
.socials a{transition:background .3s ease,border-color .3s ease}
.socials a:hover{background:#281d3c;border-color:#ab91d3}
.header{position:fixed;transition:width .4s cubic-bezier(.22,1,.36,1),top .4s cubic-bezier(.22,1,.36,1),gap .4s ease,padding .4s ease,min-height .4s ease,box-shadow .4s ease}
.header.is-scrolled{top:18px;box-shadow:0 8px 32px #0006;background:#050407ed}
@media(min-width:701px){
 .header{width:680px;max-width:calc(100% - 32px)}
 .header>.button{flex-shrink:0}
 .header .nav{max-width:360px;overflow:hidden;transition:max-width .35s ease,opacity .16s ease,margin .35s ease;flex-shrink:1}
 .header.is-scrolled{width:340px;min-height:56px;padding:6px 8px 6px 22px;gap:0}
 .header.is-scrolled .nav{max-width:0;margin-left:0;opacity:0;visibility:hidden;pointer-events:none}
}
@media(max-width:700px){
 .header.is-scrolled{top:10px;width:calc(100% - 40px);min-height:55px;padding-top:5px;padding-bottom:5px}
 .header>.brand img{transition:width .35s ease,height .35s ease}
 .header.is-scrolled>.brand img{width:84px;height:34px}
}
/* Match the homepage's quiet surface highlights without moving the controls. */
.about,.project-facts dl>div,.metrics>div{transition:border-color .45s ease,box-shadow .45s ease}
.about:hover{border-color:#77658f;box-shadow:0 0 36px #8562b918}
.project-facts dl>div:hover,.metrics>div:hover{border-color:#665977;box-shadow:inset 0 0 70px #75619c10}
.footer .dialog-link{border:0}
.contact-dialog{width:min(600px,calc(100% - 32px));padding:32px;border:1px solid #554663;border-radius:16px;background:#08060c;color:#fff}
.contact-dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}
.contact-dialog h2{font-size:28px;margin:12px 40px 24px 0}.contact-dialog p{line-height:1.5;margin-bottom:24px}
.contact-dialog .dialog-close{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid #777;border-radius:50%;background:#17121f;font-size:24px}
@media(prefers-reduced-motion:reduce){.about,.project-facts dl>div,.metrics>div{transition:none!important}}
